表适配器datetime null值

时间:2009-07-14 11:35:39

标签: .net asp.net .net-2.0

我的SQL数据库在表中有一个列,其数据类型为datetime并允许空值(因为我需要它为日期时间值或空白)并且我需要能够读取此值然后将其显示在一个文本框。问题是,在插入和更新时,自动生成的tableadapter(从服务器资源管理器拖动到数据集设计器时)将所有作为日期时间的列设置为在尝试输入null并且无法更改此值时自动抛出异常属性。虽然此列能够在数据库中取空值。

2 个答案:

答案 0 :(得分:1)

尝试使用可空的日期时间值:

VB.net

 Dim myDate As System.Nullable(Of DateTime) = Nothing 

C#:

DateTime? date = null;

现在使用myDate或date分配给列。

编辑: - 假设您正在为Northwind数据库使用表适配器。然后要添加新订单,您可以按如下方式使用它:

orderAdapter.InsertOrder(CustomerID,EmployeeID,
        date, ////Use nullable date here
        RequiredDate,ShippedDate,ShipVia,Freight,ShipName,
        ShipAddress,ShipCity,ShipRegion,ShipPostalCode,ShipCountry);

答案 1 :(得分:1)

This article建议你需要使用可以为空的DateTime变量版本,因为普通的DateTime变量不能包含空值。