adoquery从一表拷贝数据到另一个表 |
答題得分者是:Stallion
|
ntjrr
高階會員 發表:240 回覆:312 積分:110 註冊:2005-04-24 發送簡訊給我 |
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'Select * From 表一'; ADOQuery1.Open; ADOQuery1.First;//这一句用与不用有没有区别? ADOQuery2.Close; ADOQuery2.SQL.Text := 'Insert Into 表二.......)'; while not ADOQuery1.Eof do begin ADOQuery2.Parameters.ParamValues['流水号'] := ADOQuery1.FieldByName('流水号').AsInteger; ........ ADOQuery2.ExecSQL; ADOQuery1.Delete; end; 以上的代码是将从表一中的数据拷贝到表二,同时删除表一中的数据,代码能正常运行,不懂有没有什么不对的地方,或者有更好的实现方法
------
我的编程起步于ktop,我将永远支持ktop |
chih
版主 發表:48 回覆:1186 積分:639 註冊:2002-04-02 發送簡訊給我 |
|
Stallion
版主 發表:52 回覆:1600 積分:1995 註冊:2004-09-15 發送簡訊給我 |
ADOQuery1.Close;
ADOQuery1.SQL.Text := 'Select * From 表一'; ADOQuery1.Open; ADOQuery1.First;//这一句用与不用有没有区别? //沒有,我都沒用! ADOQuery2.Close; ADOQuery2.SQL.Text := 'Insert Into 表二.......)'; while not ADOQuery1.Eof do begin ADOQuery2.Parameters.ParamValues['流水号'] := ADOQuery1.FieldByName('流水号').AsInteger; ........ ADOQuery2.ExecSQL; ADOQuery1.Delete; end; 以上的代码是将从表一中的数据拷贝到表二,同时删除表一中的数据,代码能正常运行,不懂有没有什么不对的地方,或者有更好的实现方法 在你這種需求下,我會嘗試用 UpdateBatch 的方式來作,在KTOP輸入 UpdateBatch 會有一些範例,但是使用時要注意一些設定: Note: To use batch updating, the CursorType property of the dataset component must be either ctKeySet (the default) or ctStatic and the LockType property must be ltBatchOptimistic. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |