Foxtable(狐表)用户栏目专家坐堂 → [求助]关于nothing 不能更改SQL后台数据列为null的请教


  共有4221人关注过本帖树形打印复制链接

主题:[求助]关于nothing 不能更改SQL后台数据列为null的请教

帅哥哟,离线,有人找我吗?
laipiwen
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:383 积分:2893 威望:0 精华:0 注册:2015/4/29 11:50:00
[求助]关于nothing 不能更改SQL后台数据列为null的请教  发帖心情 Post By:2021/3/26 8:52:00 [只看该作者]

代码1
Dim dr As DataRow = DataTables("人员信息").sqlFind("姓名 ='石改'")
'Output.Show(dr("姓名"))
dr("科室编号") = Nothing
dr.Save
代码2
Dim dr As DataRow = DataTables("人员信息").Find("姓名 ='石改'")
'Output.Show(dr("姓名"))
dr("科室编号") = Nothing
dr.Save

代码3
Dim cmd As New SQLCommand
cmd.ConnectionName = "wb"
cmd.CommandText = "U PDATE 人员信息 SET 科室编号 = null WHERE 姓名 ='石改'"
cmd.ExecuteNonQuery() 

代码1、2 中可以运行,不报错,但是SQL后台不会更改为null值  ,代码3 可以正常将SQL后台值更新为null值。
请问,代码1、2 应该如何写 才能实现 代码3 的效果?
[此贴子已经被作者于2021/3/26 9:25:04编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/26 9:15:00 [只看该作者]

代码没有问题。检查是不会链接到其它数据库了,或者根本就是内部表

 回到顶部
帅哥哟,离线,有人找我吗?
laipiwen
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:383 积分:2893 威望:0 精华:0 注册:2015/4/29 11:50:00
  发帖心情 Post By:2021/3/26 9:22:00 [只看该作者]

不会的  我是用的SQL外部数据表
[此贴子已经被作者于2021/3/26 9:22:11编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/26 9:26:00 [只看该作者]

 不是使用了外部数据库,表格就一定是外部表。用了一段时间才发现表格是内部表的大把人在。

否则就是有其它代码影响了

 回到顶部
帅哥哟,离线,有人找我吗?
laipiwen
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:383 积分:2893 威望:0 精华:0 注册:2015/4/29 11:50:00
  发帖心情 Post By:2021/3/26 9:47:00 [只看该作者]

以下是引用有点蓝在2021/3/26 9:26:00的发言:
 不是使用了外部数据库,表格就一定是外部表。用了一段时间才发现表格是内部表的大把人在。

否则就是有其它代码影响了

有点蓝老师,谢谢 解答!

我使用表的时候才加载外部表   OuterTableBuilder  所以,确定是外部数据库的表,这样加载的表  也不能直接设置表事件,也不会有其他事件代码 影响了  ,而且我测试 的时候  是在 命令窗口测试的代码

其实 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=120753&skin=0  这个帖子也在反馈


经过多次测试后 发现 
如果 dr("科室编号")  值 为"" 的时候   dr("科室编号") = Nothing 无效
如果 dr("科室编号")  值 为"2" 的时候,就是有值的时候, 所以先  dr("科室编号") = "2"  然后再 dr("科室编号") = Nothing 有效   

不知道程序就是这样 还是bug

[此贴子已经被作者于2021/3/26 9:59:46编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/26 16:33:00 [只看该作者]

意思是dr("科室编号")原来是空字符串“”,然后然后无法更新为空值nothing(数据库为NULL),是吧。这个是正常的,这种情况只能使用sql处理。

因为在foxtable表格里是不存在空字符串值的。

 回到顶部
帅哥哟,离线,有人找我吗?
laipiwen
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:383 积分:2893 威望:0 精华:0 注册:2015/4/29 11:50:00
  发帖心情 Post By:2021/3/26 17:09:00 [只看该作者]

以下是引用有点蓝在2021/3/26 16:33:00的发言:
意思是dr("科室编号")原来是空字符串“”,然后然后无法更新为空值nothing(数据库为NULL),是吧。这个是正常的,这种情况只能使用sql处理。

因为在foxtable表格里是不存在空字符串值的。

是的,感谢解答。


 回到顶部