变量赋值为Null的问题

essenza 2008-12-01 05:56:38
变量赋值为NULL

id为varchar,并且和另外的表做了约束,

SQL语句为
tmpSQL="insert tb1(ID) values('& vID & ')"

vID取值于datagridview的莫一单元格=.Rows(iRow).Cells(9).Value

当.Rows(iRow).Cells(9).Value单元格为空的时候,viD 要为NULL

即tmpSQL应该为:

insert tb1(ID) values(Null)

单元不为空就插入实际的值。 要插入的NUll很多,上面只是我简化的例子

我用
If String.IsNullOrEmpty(.Rows(iRow).Cells(9).Value) Then
YY(15) = System.DBNull.Value.ToString
Else
YY(15) = .Rows(iRow).Cells(9).Value
End If

实际插入的是“”,而不是NULL
...全文
297 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
nmgwolf042 2008-12-02
  • 打赏
  • 举报
回复
六楼正解,如果DbNull.ToString的话,系统会认为字符串类型,当字符串为空时,就会""
qinhl99 2008-12-02
  • 打赏
  • 举报
回复
System.DBNull.Value
soloist007 2008-12-02
  • 打赏
  • 举报
回复
System.DBNull.Value
zhnzzy 2008-12-01
  • 打赏
  • 举报
回复
System.DBNull.Value
sunxiaona1983 2008-12-01
  • 打赏
  • 举报
回复
YY(15) = DBNull.Value 就可以了,不用再tostring了,不然就变成了“”,而不是Null值了
水如烟 2008-12-01
  • 打赏
  • 举报
回复
DataAdapter.Update(dbTable)不行吗?
lovehongyun 2008-12-01
  • 打赏
  • 举报
回复
string sql = "insert tb1 (ID) values(@ID)";
SqlCommand cmd = new SqlCommand(sql,conn);
cmd.Parameters.Add("@ID", SqlDbType.VarChar, 80).Value = System.DBNull.Value;
cmd.ExecuteNonQuery();
lovehongyun 2008-12-01
  • 打赏
  • 举报
回复
对sql的参数使用参数化方式

然后赋System.DBNull.Value就行了.
essenza 2008-12-01
  • 打赏
  • 举报
回复
DBNull 是个类型,不能做表达式,

关键是怎样DBNull赋值到一个变量,从而达到insert tb1(ID) values(Null) 的效果。
cyqlightrain 2008-12-01
  • 打赏
  • 举报
回复
DBNull

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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