如何制作可为空的整数值
How To Make a Nullable Integer Value
我刚开始申请。我有一些必须用整数值填充的文本字段,但是当文本字段为空时,我希望该值在数据库中仍然为空而不是必须添加“0”。
是这样的
DR.IN = Me.txtIn.Text
DR.OUT = Me.txtOut.Text
其中两个是整数值,当我保存到数据库时出现错误并说
The Nullable Object Must Have Value
我必须加“0”,但我希望数据仍然为空。有人知道怎么做吗?
感谢您的帮助,抱歉我的语法很糟糕,我希望有人能理解我的问题:)
您可以使用 If 运算符进行条件检查 return Nothing (null) 如果文本框中没有文本或文本框的整数值:
Dim value As Integer? = If(TextBox1.Text.Length = 0, Nothing, Integer.Parse(TextBox1.Text))
您没有显示一些相当重要的信息,但我假设您正在使用 Integer?
的 Value
属性,而没有先检查它是否确实有一个值。这就是 Nullable
的全部要点:它可以有值也可以没有。如果没有,则不能使用该值。保存 Integer?
可能如下所示:
Dim command as new SqlCommand
command.CommandText = "UPDATE MyTable SET Number = @Number WHERE ID = @ID"
command.Parameters.Add("@Number", SqlDbType.Int).Value = If(myNullableInteger.HasValue,
myNullableInteger.Value,
CObj(DBNull.Value))
使用 default(Nullable<type>)
将 return 你 Nullable<type>
设置为空。
您可以在 C#
中创建一个可为 null 的整数,例如:
int? myint;
并在 VB.net 喜欢:
Dim myint As Integer?
我刚开始申请。我有一些必须用整数值填充的文本字段,但是当文本字段为空时,我希望该值在数据库中仍然为空而不是必须添加“0”。
是这样的
DR.IN = Me.txtIn.Text
DR.OUT = Me.txtOut.Text
其中两个是整数值,当我保存到数据库时出现错误并说
The Nullable Object Must Have Value
我必须加“0”,但我希望数据仍然为空。有人知道怎么做吗?
感谢您的帮助,抱歉我的语法很糟糕,我希望有人能理解我的问题:)
您可以使用 If 运算符进行条件检查 return Nothing (null) 如果文本框中没有文本或文本框的整数值:
Dim value As Integer? = If(TextBox1.Text.Length = 0, Nothing, Integer.Parse(TextBox1.Text))
您没有显示一些相当重要的信息,但我假设您正在使用 Integer?
的 Value
属性,而没有先检查它是否确实有一个值。这就是 Nullable
的全部要点:它可以有值也可以没有。如果没有,则不能使用该值。保存 Integer?
可能如下所示:
Dim command as new SqlCommand
command.CommandText = "UPDATE MyTable SET Number = @Number WHERE ID = @ID"
command.Parameters.Add("@Number", SqlDbType.Int).Value = If(myNullableInteger.HasValue,
myNullableInteger.Value,
CObj(DBNull.Value))
使用 default(Nullable<type>)
将 return 你 Nullable<type>
设置为空。
您可以在 C#
中创建一个可为 null 的整数,例如:
int? myint;
并在 VB.net 喜欢:
Dim myint As Integer?