紧急!!关于VB中如何往SQL-SERVER输入NULL的问题

sonymanzzzzzz 2004-10-04 11:26:25
我现在用VB做了1个利用EXCEL表格往SQL-SERVER中导入数据的程序,但是出现了1个非
常棘手的问题:在数据库中的相应字段为FLOAT型,而EXCEL中相应列的格子中有可能出
现空白(也就是说什么都没填)。我目前的代码如下:
If Trim$(strScore) = "" Then
rsuSelectClass("成绩") = ""
Else
rsuSelectClass("成绩") = Trim$(strScore)
End If

rsuSelectClass.UpdateBatch

这样的话,调试程序时,VB会报多步操作出错的那种提示。经过逐步调试,发现正是因
为FLOAT型数据不能填入空白的问题,现在就是想实现直接在SQL-SERVER里按CTRL+0的
那种输入NULL的效果,这段代码该怎么改啊?大侠们救我啊~~
...全文
80 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbman2003 2004-10-04
同意楼上。同时你数据库中相应字段要设置为“允许空”
回复
tztz520 2004-10-04
If Trim$(strScore) = "" Then
rsuSelectClass("成绩") = null
Else
rsuSelectClass("成绩") = Trim$(strScore)
End If
回复
hzybc 2004-10-04
如果是空,就不要对表的列进行操作,这样效率更高
回复
a达哥a 2004-10-04
既然是FLOAT类型的, 应该用:

If Trim$(strScore) = "" Then
rsuSelectClass("成绩") = null
Else
rsuSelectClass("成绩") = Val(Trim$(strScore))
End If

是吧?

而且VB中判断是否为空, 用Len()函数好些, 据说效率高, 在大循环的时候很有用:

If Len(Trim$(strScore)) = 0 Then
rsuSelectClass("成绩") = null
Else
rsuSelectClass("成绩") = Val(Trim$(strScore))
End If
回复
发动态
发帖子

1180

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
社区公告
暂无公告