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

刪除太多資料無回應

尚未結案
zxy666666
中階會員


發表:108
回覆:150
積分:86
註冊:2005-01-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-18 16:34:40 IP:219.130.xxx.xxx 未訂閱
大家好!    如題,請見以下代碼
procedure TForm1.Button1Click(Sender: TObject);
begin
  with Query1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('Delete from test where ((TestDate =:TestDate) and (TestTime =:TestTime)) ');
    ParamByname('TestDate').AsDate := DT ;
    ParamByname('TestTime').AsTime := sTime ;
    ExecSQL;
  end;
end;    
有搜尋過K.Top的有關文章:一般都說如果是for循環的加 Application.ProcessMessages; 我也試過但是好像沒用,一定要等處理完畢才可以動作(刪除上萬筆資料)。不知如何是好? 還請各位前輩教導一下,謝謝!
pillar62
資深會員


發表:9
回覆:324
積分:271
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-18 16:51:02 IP:210.64.xxx.xxx 未訂閱
你好 一般的做法是 query.close; query.SQL.text := select * from test where TestDate =:TestDate and TestTime =:TestTime '; query.ParamByname('TestDate').AsDate := DT ; query.ParamByname('TestTime').AsTime := sTime; query.Open; query.first; while not query.eof do begin application.ProcessMessages; query.delete; end; 這樣的寫法application.ProcessMessages;才有作用!! Pillar Wang
------
Pillar Wang
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-18 21:31:29 IP:218.32.xxx.xxx 未訂閱
也可以考慮用另一個 Thread 處理, 本站有一些相關文章, 搜尋看看.
zhongguoren1997
一般會員


發表:9
回覆:10
積分:3
註冊:2004-09-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-19 15:19:18 IP:61.141.xxx.xxx 未訂閱
可以考慮用存儲過程來刪除﹐一般來說這個取決于數據庫的刪除速度。 大家好才是真的好
------
大家好才是真的好
zxy666666
中階會員


發表:108
回覆:150
積分:86
註冊:2005-01-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-20 09:25:41 IP:219.132.xxx.xxx 未訂閱
非常感謝pillar62,zhongguoren1997兩位前輩,還有Mickey版主大人的回應與建議. Thread:不會用,我再找資料試做看看. <>< face="Verdana, Arial, Helvetica">引言: 可以考慮用存儲過程來刪除﹐一般來說這個取決于數據庫的刪除速度。 大家好才是真的好 hi,zhongguoren1997,您好!我是用Paradox,請問也可以用存儲過程嗎?(存儲過程:是不是跟SQL SERVER中的預存程序差不多嗎?不好意思,沒用過,不懂,可否請前輩提示或有相關資料參考一下呢,謝謝你)
Mickey
版主


發表:77
回覆:1882
積分:1390
註冊:2002-12-11

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-22 20:23:35 IP:218.32.xxx.xxx 未訂閱
Multi-Thread 多線程的應用, 參考看看: http://delphi.ktop.com.tw/topic.php?TOPIC_ID=52502 另外, Paradox...沒有 Stored Procedure 可運用, 所以, 建議妳花些時間研究一下多線程的應用. 發表人 - Mickey 於 2005/04/22 20:29:31
系統時間:2024-07-03 6:06:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!