紧急!!关于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的效果,这段代码该怎么改啊?大侠们救我啊~~
...全文
135 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧