我正在VPS(Centos6)上运行电子商务订单表的MySQL表。Delphi知道查询刷新后是否有新行
我正在查询桌面应用程序,通知何时有新订单。 我有一个查询(TFDQuery)在FormCreate事件中运行。我用TTimer刷新了这个查询。
是否有一些NATIVE方法来知道刷新后是否存在新行?
我现在在干什么?
我使用query.RecordCount计算行数;在FormCreate上查询后,将其设置为公共变量。在Timer事件中,我正在做同样的事情,但使用本地变量。
-
public
a : integer;
....
查询结果后FORMCREATE事件:
a := query.RecordCount;
计时器事件:
var
b: Integer;
begin
query.Refresh();
b:=query.RecordCount;
if (b>a) then
begin
//do what i want to do
a := query.RecordCount;
end;
end;
好了,一切工作正常。但这是正确的方式吗?我一直在寻找像我这样的案件,但我没有找到任何东西。
有没有一些本地的方式来做到这一点?
我确实有DevExpress组件。
无论如何,您是否正在用TTImer刷新其他用途,或者只是为了确定添加的记录? –
我假设你没有行被删除的可能性,否则删除+添加=根据你的逻辑没有改变。不知道本地方法,但取决于查询的性质,然后检查autoinc字段的最大值可能会更好/更安全? –
为什么你想知道是否添加行?这是一个多用户的情况? Plaese [编辑]并更新你的问题。 –