我有ASP经典页要在表中插入记录。
我正在为5个字段使用表单元素。 [ABC]([code],[updatedate],[flag],[Mfdate]。当用户未选择Mdate时,使用日期控件在Mdate中获取用户选择的日期,该查询在我的ASP中形成页面如下

INSERT INTO [ABC] ([code], [updatedate], [flag], [Mfdate])
VALUES('203 ', '6/12/2013', 'N/A', '')

当它在SQL Server中运行时,它将为1/1/1900插入日期Mfdate,但是用户尚未选择任何值。

为什么会这样呢?
Mfdate的数据类型为datetime

最佳答案

您尚未将其指定为null,而是试图插入一个空字符串('')。你需要:

INSERT INTO [ABC] ([code],[updatedate],[flag],[Mfdate])
VALUES ('203', '6/12/2013','N/A', NULL)

虽然确实如此,但是如果您要插入日期,则最好以YYYYMMDD格式插入日期,例如:
INSERT INTO [ABC] ([code],[updatedate],[flag],[Mfdate])
VALUES ('203', '20130612','N/A', NULL)

08-07 06:11