ado多執行緒查詢

2021-09-07 22:25:51 字數 1126 閱讀 2566

類似**:

coinitialize(nil) ; //coinitialize was not called

qry := tadoquery.create(nil) ;

try// must use own connection

// qry.connection := form1.adoconnection1;

qry.connectionstring := connstr;

qry.cursorlocation := cluseserver;

qry.locktype := ltreadonly;

qry.cursortype := ctopenforwardonly;

qry.sql.text := sqlstring;

qry.open;

while not qry.eof and not terminated do

begin

listbox.items.insert(0, format('%s - %d', [qry.fields[0].asstring,qry.fields[1].asinteger])) ;

//canvas does not allow drawing if not called through synchronize

synchronize(refreshcount) ;

qry.next;

end;

finally

qry.free;

end;

couninitialize() ;

在建立多執行緒delphi ado資料庫應用程式時你需要知道如何解決3個陷阱:

1  使用該dbgo任何物件前必須手動呼叫coinitialize,最後呼叫couninitialize。不呼叫coinitialize將導致「coinitialize沒被呼叫」的錯誤。coinitialize方法初始化當前執行緒上的com庫。 ado是com。

2 您不能使用主線程(應用程式)的tadoconnection物件。每個執行緒需要建立自己的資料庫連線。如果使用tadoquery物件直接連線資料庫的話,tadoconnection物件就可以省了,省了許多事。

3 您必須使用 synchronize程式與序主線程「交談」和 訪問主表單上的任何控制項。

簡單的多執行緒查詢

下面是顯用來顯示方法執行的時間,但是暫時沒有顯示出方法名稱,之前在做多資料來源的時候,在用到aop根據註解來切換資料來源的方法中,有根據joinpoint引數來得到乙個方法名稱,之後可以考慮新增一下。public class methodtimer public static void end el...

多執行緒批量網域名稱資訊查詢

寫了乙個多執行緒的批量網域名稱資訊查詢,data.txt儲存需要的查詢網域名稱。查詢結束後,生成的結果會分別儲存在以網域名稱為的檔名的檔案中 usr bin python coding utf 8 by zsdlove import whois import json import threadpo...

多執行緒 多執行緒原理

我們首先要知道什麼是多執行緒,說白了就是多個執行緒,執行緒是什麼呢,其實就是程序執行的途徑,那麼說道這裡我們又引入了乙個新的名字,就是程序,那麼我們來看看什麼是程序,其實我們自己也能看到,啟動電腦的任務管理器,我們就可以看到程序選項,裡面是我們電腦所有的程序,我們會發現有很多的程序.簡單地說就是程序...