以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  update语句在ft中使用的困惑(原贴乱码了重发)  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=50698)

--  作者:scott518
--  发布时间:2014/5/11 16:26:00
--  update语句在ft中使用的困惑(原贴乱码了重发)

Dim dr As DataRow = DataTables("编码表").Find("产品编码 = \'A001\'")
If dr IsNot Nothing Then
    Dim a1 As String = dr("品名")
    Dim a2 As String = dr("规格")
    Dim a3 As String = dr("颜色")
    Dim cmd As New SQLCommand
    cmd.ConnectionName = Mydata
    cmd.CommandText = "Updat 表A set 品名 = \'" & a1 & "\',规格 = \'" & a2 & "\',颜色 = \'" & a3 & "\' where 产品编码 = \'A001\'"
    cmd.ExecuteNonQuery()
End If

 

上面的代码如果“品名,规格,颜色”三个字段的值都不是null时表A中的执行结果是正确的。但如果三者的值为null的话,update更新后实际数据库表A中三者的值就变成一个空的值,但却不是null,我想要的结果是如果编码表中品名,规格,颜色原来是null,Update到表A中后仍然是null,请问,update语句要怎么写才正确?下面这个写法是不正确的。


谢谢kunmails提供的方法,测试过后是可行的,但想请教大家还有没有更直接的方法?