以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 无法理解,不知道错在哪里? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=192880) |
|
-- 作者:hitzfeld -- 发布时间: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后台数据,确实没更新。
|
|
-- 作者:有点蓝 -- 发布时间:2024/7/29 16:59:00 -- 调试看看每次查询的结果数量
|
|
-- 作者:hitzfeld -- 发布时间:2024/7/29 17:03:00 -- 老师好,msgbox(drs.count)返回值都是正确的。除了状态没有改变。仍然是按1,3,5可以。2,4,6不行的情况 |
|
-- 作者:有点蓝 -- 发布时间:2024/7/29 17:17:00 -- 如果使用的是SqlServer数据库,跟踪一下2,4,6的时候后台数据库执行了什么sql |
|
-- 作者:kaiyu -- 发布时间:2024/7/31 9:08:00 -- dr1都没有保存 |
|
-- 作者:有点蓝 -- 发布时间:2024/7/31 9:38:00 -- 我测试这种用法没有问题。请上传实例测试 |
|
-- 作者:lur320 -- 发布时间: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 -- 发布时间:2024/7/31 10:58:00 -- 客服端需要刷新表内容才能看到数据库里面修改了的最新数据 |