非空列不能更新为NULL(200分)

  • 主题发起人 主题发起人 wqhatnet
  • 开始时间 开始时间
W

wqhatnet

Unregistered / Unconfirmed
GUEST, unregistred user!
其1:非空列不能更新为NULL<br>我在客户端插入数据时报这个错误,不知道怎么解决<br>其2:<br>在SQLSERVER中设置的默认值为什么无效?<br>已经将允许为空勾掉了<br>插入数据时非得给它一个0不行<br>否则就报错,''不是有效的INTEGER
 
非空列肯定不能为空,那干叫非空列呢<br>这个默认值有时候是没有赋值,好象有点不稳定,不用就可以了
 
你好,newbie:<br>如果是非空列,指的就是不能为null,此空不是''(空串),delphi的数据感知控件是自动构造sql语句的,如果是非空列,在dataset的OnNewRecord事件一定要加上<br>&nbsp; dataset.fieldbyname('myIntegerValue').asinteger := 0;<br>如果要插入一条记录,又设了默认值,有良种方法:<br>1.在客户端软件指定值 eg: insert into ta (af,bf) values('0',0);//自动转换类型<br>&nbsp; 具体到delphi,dataset 的 onnewrecord 事件 写<br>&nbsp; dataset.fieldbyname('bf').asinteger := 0; //就ok<br>2.在客户端软件不指定值,sql服务器自己添加 insert into ta(af) values('0');//此句,如果服务器端设置了 ta 表 bf 字段是 默认为 0 ,就会自己加上,无论是否允许null,<br><br>如果以上都看不懂,还是,hehe
 
你认真核对下默认值以及插入时的SQL语句的插入值的格式..<br>你把允许空钩掉的意思是不能为空,选上了才允许为空
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
846
SUNSTONE的Delphi笔记
S
S
回复
0
查看
778
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
后退
顶部