读书人

积累细节小贴士:asp.net中对数据库表插

发布时间: 2011-12-30 23:30:45 作者: rapoo

积累细节小贴士: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.0000

读书人网 >asp.net

热点推荐