vb.net 绑定空值的问题

我用的是SQLserver数据库,开发软件是VB.net2005数据库有一列“建筑面积”的数据类型为float,问题是这样的:通过DataAdapter及DataBind... 我用的是SQL server数据库,开发软件是VB.net 2005
数据库有一列“建筑面积”的数据类型为float,问题是这样的:
通过DataAdapter及DataBindings控件自动绑定到一个textbox时,textbox里的值为空值时,DataAdapter.Update无法更新数据库,一定要将其设为0或输入一些数字,否则光标都没办法移开,也无法通过数据验证,导致无法更新,我想让textbox为空时,就更新数据库的值为Null,我使用过textbox.text=noting textbox.text=empty都没用,有什么办法可以解决呢??就是让textbox.text为空时更新为Null,还请各位大侠指教!
补充一下:
数据库的这列已经设为允许空值,vb.net2005的绑定数据集里该列的默认值也为DBNull
展开
 我来答
pzhkudu
2011-06-07 · TA获得超过249个赞
知道答主
回答量:359
采纳率:0%
帮助的人:147万
展开全部
如果你要用Null值来更新数据库,那最好的办法是自己写UPDATA语句,只有这样你才能对字段使用Null值来更新。如果你有DataAdapter.Updatae来自动生成更新语句,在SQL规范里是不能用Null值来更新!也就是说自动生成的SQL语句是不会用Null值来更新,因为那样做没有任何意义!所以用自写语句的方式来更新。更新时使用SQL语句写法“ObjectValue is null"其中ObjectValue是字段名。而不再使用“=”这个字符来引用Null值,这一点需要注意。
ktnl4td2x
2011-06-07 · TA获得超过196个赞
知道答主
回答量:577
采纳率:0%
帮助的人:355万
展开全部

其中这一段:

Dim objAdap As New OleDbDataAdapter(strSql, objConn)
objConn.Close()
Dim objDSet As New DataSet
objAdap.Fill(objDSet, strSql)

'=================================
'书写有问题,应该这样写

Dim objAdap As New OleDbDataAdapter(strSql, objConn)

Dim objDSet As New DataSet
objAdap.Fill(objDSet)

objConn.Close()

你再试下,希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式