以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]SQL数据库中明细偶发不能被完整加载  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187429)

--  作者:laipiwen
--  发布时间:2023/7/18 9:53:00
--  [求助]SQL数据库中明细偶发不能被完整加载
如题描述,用户A新增了一个数据明细,SQL数据库已经存在,但是用户B在权限,加载规则都正常的情况下不能加载到该新增数据,其他数据可正常加载,一起功能都正常。
但是 过了三五分钟后,这个新增数据明细被正常加载了。

请问大家有遇到类似情况吗?有没有什么解决办法呢?

--  作者:有点蓝
--  发布时间:2023/7/18 10:00:00
--  
用户A新增的数据明细保存了吗。用户B是怎么加载数据的?

如果是SqlServer数据库,跟踪一下用户B加载的时候执行了什么sql?
--  作者:laipiwen
--  发布时间:2023/7/18 10:09:00
--  
以下是引用有点蓝在2023/7/18 10:00:00的发言:
用户A新增的数据明细保存了吗。用户B是怎么加载数据的?

如果是SqlServer数据库,跟踪一下用户B加载的时候执行了什么sql?
用户A确认保存成功,通过SQL语句 在数据库中可查询到该明细数据,用户B是通过分页加载方式的,用户B并无其他操作SQL
With DataTables("订单")
    .LoadTop =
20

    .LoadPage =
3
    .LoadOver =
"日期"
   
.LoadReverse = True
    .Load()

End
With
窗口表中有个CurrentChanged事件
Dim dr As DataRow = e.Table.Current.DataRow
Dim
wz As Integer = Tables("A").FindRow(dr)
If
wz >=0 Then
      Tables(
"
A").Position = wz
End
If

[此贴子已经被作者于2023/7/18 10:17:06编辑过]

--  作者:有点蓝
--  发布时间:2023/7/18 10:19:00
--  
我们的建议是:尽量采用主键列或者其他值不会重复的列(如身份证号码),作为分页依据列,因为如果分页依据列的值有重复,将会影响分页的准确性,例如上面的代码根据日期分页,每页显示20行,如果某一天有40个订单,那么这40个订单会显示在同一个页面中,而不会按我们期望的那样分成两页显示。