線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:942
推到 Plurk!
推到 Facebook!

请教:记录插入(Insert)的问题

答題得分者是:cashxin2002
lovelypp
初階會員


發表:122
回覆:111
積分:46
註冊:2003-02-19

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-03 10:41:38 IP:218.104.xxx.xxx 未訂閱
在DataSet中的第2个记录后面插入一条记录,该记录的所有字段值跟第5条记录的所有的字段的值一样。 程序怎么写比较简洁?
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-03 11:22:42 IP:63.84.xxx.xxx 未訂閱
您好﹗    一般來講﹐使用如下的SQL語法應是最快的﹕ Insert Into 資料表名稱 Select * From 訂單 Where 鍵值欄位名=第5筆記錄    但從您的問題描述來看﹐如果新增的資料錄所有欄位值和第5筆資料錄欄位值完全相同﹐那可能就沒有鍵位欄位的設定﹐所以實務中可以使用以下的方法﹕    1. 先將資料錄指針移至第5筆資料錄﹐使用變數記錄下每個欄位的值﹒
Var
  MyColumn1, MyColumn2, MyColumn3 : String;
//以上變數請宣告在implementation之前﹐這里假設三個變數皆為String形態
begin
  ADOTable1.First;
  ADOTable1.MoveBy(4);
  MyColumn1 := ADOTable1.FieldByName('欄位名1').AsString;
  MyColumn2 := ADOTable1.FieldByName('欄位名2').AsString;
  MyColumn3 := ADOTable1.FieldByName('欄位名3').AsString;
end;
//此處以三個欄位名為列﹐且欄位形態皆為String
2. 再將資料錄指針移至第三筆﹐并Insert新的資料
begin
  ADOTable1.First;
  ADOTable1.MoveBy(2);
  ADOTable1.Insert;
  ADOTable1.FieldByName('欄位名1').AsString := MyColumn1;
  ADOTable1.FieldByName('欄位名2').AsString := MyColumn2;
  ADOTable1.FieldByName('欄位名3').AsString := MyColumn3;
  ADOTable1.Post;
end;
參考看看﹗ ===================== 努力,相信會獲得美麗! 忻晟 發表人 - cashxin2002 於 2004/03/03 11:25:17
------
忻晟
lovelypp
初階會員


發表:122
回覆:111
積分:46
註冊:2003-02-19

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-03 11:29:22 IP:218.104.xxx.xxx 未訂閱
感谢,请问: 鍵值欄位在Access中如何添加?
lovelypp
初階會員


發表:122
回覆:111
積分:46
註冊:2003-02-19

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-03-03 11:30:44 IP:218.104.xxx.xxx 未訂閱
感谢,请问: 鍵值欄位在Access中如何添加? 并且以后在资料库中有删除时能够自动维护吗,如 删除第3笔,那么第4笔的该栏位值会自动更新为3吗?
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-03-03 11:51:55 IP:63.84.xxx.xxx 未訂閱
您好﹗    您描述的不是供使用者輸入的鍵值欄位﹐而是Access提供的一個名為自動編號的欄位形態﹐在設計Access資料表時﹐即可在設計窗口添加欄位時指定此欄位形態為自動編號﹐這個欄位會自動以1累積﹐也就是說每次新增一筆資料錄時﹐即賦予其當前使用過的最大編號加上1做為其編號﹒    但這種形態的欄位在資料刪除時并不會自動做維護﹐曾使用過的編號﹐即使是已經刪除﹐也不會再賦給新的資料錄﹒    但可以使用Access中的壓縮及維護功能來解決這方面的問題﹐Access視窗中正常開啟需要維護的資料表﹐點擊[工具\資料庫公用程式\壓縮及維護資料庫...]﹐另外﹐也可在程式中Import JRO來處理同樣的事務﹐請參考如下連接﹕    主題﹕用JRO壓縮ACCESS資料庫.MDB  作者﹕領航天使 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=201    主題﹕如何用程式修護並壓縮Access資料檔  作者﹕Lee  http://delphi.ktop.com.tw/topic.php?TOPIC_ID=17920    參考看看﹗    ===================== 努力,相信會獲得美麗! 忻晟
------
忻晟
lovelypp
初階會員


發表:122
回覆:111
積分:46
註冊:2003-02-19

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-03-03 12:21:34 IP:218.104.xxx.xxx 未訂閱
问题是当从中间插入记录时必须能够顺序编号
系統時間:2024-07-04 23:47:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!