日期:2014-05-18  浏览次数:20369 次

数据库中字段是:int,datetime类型,向数据库中插入数据时,如果Textbox值为空,就会出错~~
我现在的解决方法是:给TextBox赋个初始的时间,
如果是Int型的就赋初始值:0。我想问
有没有更好的解决方法?总不能都赋初始值吧~

------解决方案--------------------
对于空值,你可以不插入,那就不会抱错了。
------解决方案--------------------
其实,你可以这样:1、先编写一个像数据库中插入数据的存储过程;2、讲TextBox的值通过存储过程的变量倒入;3、在存储过程中调用SQL Server的系统函数ISNULL(expr,value),让ISNULL判断倒入的TextBox值是否为空,if 为空ISNULL就返回value,if不为空,就返回exper。
ISNULL用法,可参考SQL Server联机丛书。
------解决方案--------------------
插入之前先判断是否为空!都是这样做的 !
------解决方案--------------------
在数据库中应尽量避免使用NULL值,如果不是必填项,可以设置DEFAULT(默认值),这样在应用程序端就很自由了,如果输入,则在数据库里更新的是你输入的值,如果不输入,则保留默认值。
------解决方案--------------------
1.如果该数据库字段是not null的,那么在表定义的时候给他设置默认值,或者程序给他默认值。
2。如果不是not null 的插入的时候判断if(“”),then DBNULL
------解决方案--------------------
1。notnull的时候也能设置默认值。

2。if(txtYouTextbox.Text="")
{
你的sql参数=System.DBNull.Value;
}