以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [分享]后台增加行再追载的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=179861)

--  作者:2425004926
--  发布时间:2022/9/14 16:41:00
--  [分享]后台增加行再追载的问题
我给大家分享一个案例,让我花费了太多的时间才解决
是阿里云sql server数据库,我在后台增加行后再追载,可是追载很多时候都失败的,偶尔成那么一次,我把很多和表有关的代码都查看了,依然如此。

原因
是我在数据库加了一个触发器,触发器确定了创建的时间,这样创建时间是阿里云服务器的,d时间是我电脑的
阿里服务器的时间--竟然和--我电脑时间--有毫秒之间的误差,
导制了这个创建时间竟然比d早,所以用---"TimeCreation >= \'" & d & "\'"---竟然筛选不到刚才增加的行
我把用数据库触发器增加创建时间删除,增加行时填写创建时间,这样两个时间就统一起来,都是我电脑时间,测试后OK


Dim d As Date = Date.now

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
cmd.C
cmd.CommandText = "Select * Fr om {时间测试} Where [_Identify] Is Null"
dt = cmd.ExecuteReader(True)

dr = dt.AddNew()
dr("TimeCreation") = Date.now \'创建时间
dr.Save()

Tables(e.Form.name & "_table1").DataTable.RemoveFor("TimeCreation >= \'" & d & "\'")
Tables(e.Form.name & "_table1").DataTable.AppendLoad("TimeCreation >= \'" & d & "\'")