全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1111
推到 Plurk!
推到 Facebook!

SQL 查詢時,如何中斷查詢

尚未結案
kido
一般會員


發表:1
回覆:2
積分:0
註冊:2004-04-06

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-28 18:37:38 IP:211.21.xxx.xxx 未訂閱
小弟有一個問題 用thread去db做查詢的動作,避免程式看起來當掉 但是,若查詢時間過久,使用者要停止查詢(timeout的時間設的很長) 我怎麼試就是不行 懇請先知指點
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-29 10:33:09 IP:202.39.xxx.xxx 未訂閱
BDE 的 Query 的話參考這篇看看: http://groups.google.com.tw/groups?hl=zh-TW&lr=&rls=GGLD,GGLD:2005-04,GGLD:zh-TW&th=17efbe0da460e856&rnum=4
procedure TQueryWorkThread.RegisterCallBack(CallBackFunc:
pfDbiCallBack);
var
  OldSession: hDbiSes;
begin
  DbiGetCurrSession(OldSession);
  DbiSetCurrSession(FSession.Handle);  // Thread-dependant session
  DbiRegisterCallBack(nil, cbCANCELQRY, Integer(self), 0, nil,
     CallBackFunc);
  DbiSetCurrSession(OldSession);
end;    function QueryCancelCallBack(ecbType: CBType; iClientData: Longint;
  CbInfo: Pointer): CBRType stdcall;
begin
  with TQueryWorkThread(iClientData) do
    // NewJobRequest is a property I defined
    if NewJobRequest or Terminated then
      Result := cbrAbort else
      Result := cbrUseDef;
end;    Register callback:
  RegisterCallBack(@QueryCancelCallBack);    Unregister:
  RegisterCallBack(nil);
網路上大部份是說沒辦法 有提到一個 ODBCExpress 的東東, 可以去試試.
kido
一般會員


發表:1
回覆:2
積分:0
註冊:2004-04-06

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-02-02 09:57:57 IP:211.21.xxx.xxx 未訂閱
那再請問 delphi是如何實現timeout的 也就是說,當timeout時,如果是中斷查詢 並且釋放出該connection可供另一個查詢使用
系統時間:2024-06-02 13:31:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!