找資料庫裡的資料表1.2相同資料複製到資料表3 |
答題得分者是:hagar
|
ann0509
一般會員 發表:19 回覆:42 積分:12 註冊:2010-08-09 發送簡訊給我 |
我有adotable1 adotable2 adotable3 三個資料庫
各有一個資料表 我希望 如果adotable1 的資料 與adotable2 的資料相同時 可以複製到adotanle3 的資料表 下面是我寫的 可是會出現一個錯誤 請問各位大大 我哪裡錯呢 procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin adotable1.First; adotable2.First; while not adotable1.Eof do begin adotable3.Append; for i := 0 to adotable1.Fields.Count-1 do begin if adotable1.Fields[i]=adotable2.Fields[i]then begin adotable3.Fields[i]:=adotable2.Fields[i]; end; adotable3.Post; adotable1.Next; adotable2.Next; adotable3.Next; adotable3.Close; adotable3.Open; end; end; end; end. 錯誤:不能插入-空資料列 資料列需設定-資料行值 |
ann0509
一般會員 發表:19 回覆:42 積分:12 註冊:2010-08-09 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin adotable1.First; adotable2.First; while not adotable1.Eof do begin adotable3.Append; for i := 0 to adotable1.Fields.Count-1 do begin if adotable1.Fields[i]=adotable2.Fields[i]then adotable3.Fields[i]:=adotable2.Fields[i] else exit; end; adotable3.Post; adotable1.Next; adotable2.Next; adotable3.Next; adotable3.Close; adotable3.Open; end; end; end; end. 我加了else 之後就不會再有錯誤 但是始終抓不到相同的複製製到adotable3 不知道哪邊有問題呢 |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject);
var i: integer; is_same: Boolean; begin adotable1.First; adotable2.First; while not adotable1.Eof do begin is_same := True; adotable3.Append; for i := 0 to adotable1.Fields.Count-1 do begin if adotable1.Fields[i].Value =adotable2.Fields[i].Value then adotable3.Fields[i].Value :=adotable2.Fields[i].Value else begin is_same := False; Break; end; end; if is_same then adotable3.Post else adotable3.Cancel; adotable1.Next; adotable2.Next; end; end; |
Coffee
版主 發表:31 回覆:878 積分:561 註冊:2006-11-15 發送簡訊給我 |
如果你連自己寫的程式都不知道在作什麼,那就真的不用問了
===================引 用 ann0509 文 章=================== 我有adotable1 adotable2 adotable3 三個資料庫 各有一個資料表 我希望 如果adotable1 的資料 與adotable2 的資料相同時 可以複製到adotanle3 的資料表 下面是我寫的 可是會出現一個錯誤 請問各位大大 我哪裡錯呢 procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin adotable1.First; adotable2.First; while not adotable1.Eof do begin adotable3.Append; for i := 0 to adotable1.Fields.Count-1 do begin if adotable1.Fields[i]=adotable2.Fields[i]then begin adotable3.Fields[i]:=adotable2.Fields[i]; end; adotable3.Post; adotable1.Next; adotable2.Next; adotable3.Next; adotable3.Close; adotable3.Open; end; end; end; end. 錯誤:不能插入-空資料列 資料列需設定-資料行值
------
不論是否我發的文,在能力範圍皆很樂意為大家回答問題。 為了補我的能力不足之處,以及讓答案可以被重複的使用,希望大家能儘量以公開的方式問問題。 在引述到我的文時自然會儘量替各位想辦法,謝謝大家! |
ann0509
一般會員 發表:19 回覆:42 積分:12 註冊:2010-08-09 發送簡訊給我 |
謝謝你的回答
===================引 用 ann0509 文 章=================== procedure TForm1.Button1Click(Sender: TObject); var i:integer; begin adotable1.First; adotable2.First; while not adotable1.Eof do begin adotable3.Append; for i := 0 to adotable1.Fields.Count-1 do ?begin ?if adotable1.Fields[i]=adotable2.Fields[i]then ??? adotable3.Fields[i]:=adotable2.Fields[i] ??else ?? exit; end; ?adotable3.Post; adotable1.Next; adotable2.Next; adotable3.Next; ?adotable3.Close; adotable3.Open; end; end; end; end. 我加了else 之後就不會再有錯誤 但是始終抓不到相同的複製製到adotable3 不知道哪邊有問題呢 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |