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

clientdataset 作迴圈 INSERT 資料庫的問題

尚未結案
isthatu
初階會員


發表:80
回覆:47
積分:25
註冊:2002-06-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-27 14:40:28 IP:211.21.xxx.xxx 未訂閱
請問各位一個問題 我有下列一段程式 利用三層方式 作資料逐筆增加 元件用clientdataset ------------------------------------------ VAR I:integer; begin I:=1; repeat with clientdataset do begin close; commandtext:='insert tablename (A,B,C) values(:A,:B,:C)'; cdsffseqmentvalue.Params.ParamByName('A').AsString:='AA'; cdsffseqmentvalue.Params.ParamByName('B').AsString:='BB'; cdsffseqmentvalue.Params.ParamByName('C').AsString:=inttostr(i); Execute; inc(i); inc(OO) ; end; UNTIL OO=XX ; ------------------------------------------ 結果資料出來 在C欄位為 1 33571797 33571797 33571797 ------------------------------------- 正常C欄位 應該隨I值 逐筆遞增 1 2 3 4 .... --------------------------------------- 但迴圈第二次時 I值就跑掉了 變成3357197 當我改成ADOQUERY時 同樣的方法 I值則正常遞增 WHY ? -------------------------------------- BCDEFHIJKLMNOPQRSTUVWXZ
------
BCDEFHIJKLMNOPQRSTUVWXZ
reebokmonkey
一般會員


發表:44
回覆:73
積分:23
註冊:2003-08-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-28 16:10:13 IP:61.149.xxx.xxx 未訂閱
cdsffseqmentvalue.Params.ParamByName('C').AsString:=inttostr(i); 改为 cdsffseqmentvalue.Params.ParamByName('C').AsInteger:=i; 试一试 發表人 - reebokmonkey 於 2003/08/28 16:15:42
isthatu
初階會員


發表:80
回覆:47
積分:25
註冊:2002-06-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-09-25 14:40:19 IP:211.21.xxx.xxx 未訂閱
引言: cdsffseqmentvalue.Params.ParamByName('C').AsString:=inttostr(i); 改为 cdsffseqmentvalue.Params.ParamByName('C').AsInteger:=i; 试一试 發表人 - reebokmonkey 於 2003/08/28 16:15:42
一樣! 就是很奇怪 我只好將原件先改成ADO......試了正常 程式沒變! BCDEFHIJKLMNOPQRSTUVWXZ
------
BCDEFHIJKLMNOPQRSTUVWXZ
系統時間:2024-07-02 1:13:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!