积累细节小贴士:asp.net中对数据库表插入null空值的问题
大家看下,编程时候应当注意的小细节,不容忽视呀!如下:看看自己有没有遇到过这个问题
对表进行插入操作,如datetime和int类型的两个字段,都允许为null,
用“sqlcmd.Parameters.Add( "@t12 ",tb12.Text)”参数绑定时。datetime类型时,tb12.Text为空,插入成功,不报错,查看该值,却为1900-01-01;int类型时,用同样语句,tb12.Text为空,插入成功,不报错,查看该值,却为0;用“sqlcmd.Parameters.Add(new SqlParameter( "@t12 ",SqlDbType.DateTime));sqlcmd.Parameters[ "@t12 "].Value=tb12.Text;”语句时,tb12.Text为空插入则报错。
nbsp; sqlcmd.Parameters.Add(new SqlParameter( "@t12 ",SqlDbType.DateTime));
if (tb12.Text.Length> 0)
{
sqlcmd.Parameters[ "@t12 "].Value=tb12.Text
}
else
{
sqlcmd.Parameters[ "@t12 "].Value = System.DBNull.Value;
}
http://develop.csai.cn/web/200612190927391172.htm
------解决方案--------------------呵呵,支持楼主
------解决方案--------------------UP楼主。
------解决方案--------------------这样岂不是很郁闷
有别的办法么?
------解决方案--------------------@_@
------解决方案--------------------测试:insert into test values( ' ', ' ')
得到的结果是:
1900-01-01 00:00:00.000 0