Foxtable(狐表)用户栏目专家坐堂 → 无法理解,不知道错在哪里?


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

主题:无法理解,不知道错在哪里?

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
无法理解,不知道错在哪里?  发帖心情 Post By:2024/7/29 16:56:00 [只看该作者]

Dim drs As List(Of DataRow) = DataTables("入库明细").SQLSelect("入库日期 >=  '" & dt1 & "' And 入库日期 <= '" & dt2 & "' and 供应商 = '" & gys & "' and 审核='已审核'")
For Each dr1 As DataRow In drs
    dr1("过账") = False
Next
DataTables("入库明细").SQLUpdate(drs)
DataTables("入库明细").load
msgbox("反过账完成!")
    
    End If

这段代码是更新后台数据的状态(逻辑值)。问题在于执行的时候,第一次可以,状态有变,第二次不行。第三次又可以,第四次不行。不知道错在哪里?感觉代码没有问题啊?
特别说明,不行的时候,看了sql后台数据,确实没更新。

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


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

调试看看每次查询的结果数量

Dim drs As List(Of DataRow) = DataTables("入库明细").SQLSelect("入库日期 >=  '" & dt1 & "' And 入库日期 <= '" & dt2 & "' and 供应商 = '" & gys & "' and 审核='已审核'")
msgbox(drs.count)
For Each dr1 As DataRow In drs

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


加好友 发短信
等级:二尾狐 帖子:537 积分:5272 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2024/7/29 17:03:00 [只看该作者]

老师好,msgbox(drs.count)返回值都是正确的。除了状态没有改变。仍然是按1,3,5可以。2,4,6不行的情况

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


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

如果使用的是SqlServer数据库,跟踪一下2,4,6的时候后台数据库执行了什么sql

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


加好友 发短信
等级:三尾狐 帖子:786 积分:7974 威望:0 精华:0 注册:2014/4/21 15:16:00
  发帖心情 Post By:2024/7/31 9:08:00 [只看该作者]

 dr1都没有保存

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


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

我测试这种用法没有问题。请上传实例测试

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


加好友 发短信
等级:五尾狐 帖子:1032 积分:8989 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/7/31 10:22:00 [只看该作者]

 
Dim drs As List(Of DataRow) = DataTables("入库明细").SQLSelect("入库日期 >=  '" & dt1 & "' And 入库日期 <= '" & dt2 & "' and 供应商 = '" & gys & "' and 审核='已审核'")
For Each dr1 As DataRow In drs
    dr1("过账") = False
Next
DataTables("入库明细").SQLUpdate(drs)   后台保存了,客户端呢?
DataTables("入库明细").load  load会先保存本地的数据至SQL然后再从数据库加载至本地,可以试试load(false)
msgbox("反过账完成!")

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


加好友 发短信
等级:狐精 帖子:3223 积分:21401 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2024/7/31 10:58:00 [只看该作者]

客服端需要刷新表内容才能看到数据库里面修改了的最新数据

 回到顶部