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

adoquery从一表拷贝数据到另一个表

答題得分者是:Stallion
ntjrr
高階會員


發表:240
回覆:312
積分:110
註冊:2005-04-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-08-12 18:00:48 IP:222.184.xxx.xxx 訂閱
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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-08-13 01:31:28 IP:61.223.xxx.xxx 訂閱
跟報表看不出來有關係,貼錯區
Stallion
版主


發表:52
回覆:1600
積分:1995
註冊:2004-09-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-08-13 01:48:49 IP:211.22.xxx.xxx 未訂閱
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.
系統時間:2024-04-27 5:59:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!