我正在使用一个LOG
有 3 列的表:
Login nvarchar(50)
Date int
Logout nvarchar(50)
现在,如果我没有在Logout
列中输入值,那么NULL
应该存储。但对我来说,它存储为" "
.
我在屏幕截图 1 中给出了我的表定义,在屏幕截图 2 中给出了表数据。
我正在使用一个LOG
有 3 列的表:
Login nvarchar(50)
Date int
Logout nvarchar(50)
现在,如果我没有在Logout
列中输入值,那么NULL
应该存储。但对我来说,它存储为" "
.
我在屏幕截图 1 中给出了我的表定义,在屏幕截图 2 中给出了表数据。
试试这个代码。
if (!string.IsNullOrEmpty(Impdate.ToString()))
{
cmd.Parameters.Add("@Logout", SqlDbType.Date).Value = Impdate;
}
else
{
cmd.Parameters.Add("@Logout", SqlDbType.Date).Value = SqlDateTime.Null;
}
可能在 INSERT 查询中,您使用 INSERT INTO log (Login, Date, Logout) VALUES(...) 和 "" 作为 Logout 字段的值。检查您的插入语句并确认您没有犯此错误。
像这样试试
if (!string.IsNullOrEmpty(Impdate.ToString()))
{
cmd.Parameters.Add("@Logout", SqlDbType.Date).Value = Impdate;
}
else
{
cmd.Parameters.Add("@Logout", SqlDbType.Date).Value = "";
}
解决此问题的替代方案列表:
谢谢。