我正在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 [編輯]並更新你的問題。 –