无法使用TableAdapter将空值加载到SQL Server中

时间:2015-03-31 05:31:29

标签: sql-server vb.net parameters null

我已阅读所有相关条目(此处和其他网站)并且未找到我的情况。

我有一个表(MyTable),其中包含几个日期字段(MyDateField1,MyDateField2等)以及与此无关的其他字段。所有日期字段都允许空值。

我的应用程序的tableadapter的insert方法调用以下存储过程:

INSERT INTO MyTable VALUES (@MyDateField1Value, @MyDateField2Value,..., <other fields>);

使用这个VB代码(dv是数据视图):

NewRow = dv.AddNew
NewRow(MyDate1Field) = DateValue1  <some date value taken off a window>
NewRow(MyDate2Field) = DateValue2  <some date value taken off a window>
....
NewRow.EndEdit()

MyTableTableAdapter.Insert(DateValue1, DateValue2, <etc>)

当没有任何日期字段为空时,这可以正常工作。但是,如果我设置:

NewRow(MyDate1Field) = DBNull.Value

我收到错误消息,指出DBNull.Value无法转换为日期值。如何在MyDateField1,MyDateField2等中获取空值

1 个答案:

答案 0 :(得分:0)

答案是通过Nothing。非常简单 - 太糟糕了,很难找到。