刪除太多資料無回應 |
尚未結案
|
zxy666666
中階會員 發表:108 回覆:150 積分:86 註冊:2005-01-14 發送簡訊給我 |
大家好! 如題,請見以下代碼
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 發送簡訊給我 |
你好
一般的做法是
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 發送簡訊給我 |
|
zhongguoren1997
一般會員 發表:9 回覆:10 積分:3 註冊:2004-09-30 發送簡訊給我 |
|
zxy666666
中階會員 發表:108 回覆:150 積分:86 註冊:2005-01-14 發送簡訊給我 |
非常感謝pillar62,zhongguoren1997兩位前輩,還有Mickey版主大人的回應與建議.
Thread:不會用,我再找資料試做看看. <>< face="Verdana, Arial, Helvetica">引言:
可以考慮用存儲過程來刪除﹐一般來說這個取決于數據庫的刪除速度。 大家好才是真的好
hi,zhongguoren1997,您好!我是用Paradox,請問也可以用存儲過程嗎?(存儲過程:是不是跟SQL SERVER中的預存程序差不多嗎?不好意思,沒用過,不懂,可否請前輩提示或有相關資料參考一下呢,謝謝你)>
|
Mickey
版主 發表:77 回覆:1882 積分:1390 註冊:2002-12-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |