以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- update语句在ft中使用的困惑 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=50690) |
-- 作者:scott518 -- 发布时间:2014/5/11 13:38:00 -- update语句在ft中使用的困惑 Dim dr As DataRow = DataTables("编码表").Find("产品编码 = \'A001\'")
上面的代码如果“品名,规格,颜色”三个字段的值都不是null时表A中的执行结果是正确的。但如果三者的值为null的话,update更新后实际数据库表A中三者的值就变成一个空的值,但却不是null,我想要的结果是如果编码表中品名,规格,颜色原来是null,Update到表A中后仍然是null,请问,update语句要怎么写才正确?下面这个写法是不正确的。 Updat 表A set 品名 = isnull(\'" & a1 & "\',null),规格 = isnull(\'" & a2 & "\',null)
谢谢! |
-- 作者:kunmails -- 发布时间:2014/5/11 14:21:00 -- 回复:(scott518)update语句在ft中使用的困惑 我之前也遇到这个问题 后来在sql中增加自定义函数解决了 如下 CREATE Function MY(@var nvarchar(100))
在拼接sql语句的时候这样
“update 表a set a = dbo.my(\'”& a1 & "\'),b = dbo.my(\'" & a2 & "\')" |
-- 作者:scott518 -- 发布时间:2014/5/11 14:38:00 -- 谢谢,这样是否会影响效率,先试试看。 |
-- 作者:scott518 -- 发布时间:2014/5/11 16:22:00 -- 此贴怎么乱码了, 谢谢二楼提供的方法,测试过后确实可行,但想请教大家还有没有更直接的方法? |