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

找資料庫裡的資料表1.2相同資料複製到資料表3

答題得分者是:hagar
ann0509
一般會員


發表:19
回覆:42
積分:12
註冊:2010-08-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-08-23 17:14:53 IP:60.248.xxx.xxx 訂閱
我有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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-08-23 17:32:53 IP:60.248.xxx.xxx 訂閱


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-08-24 08:39:35 IP:210.242.xxx.xxx 未訂閱
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

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-08-24 10:01:38 IP:114.43.xxx.xxx 訂閱
如果你連自己寫的程式都不知道在作什麼,那就真的不用問了
===================引 用 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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-08-26 15:08:14 IP:60.248.xxx.xxx 訂閱
謝謝你的回答


===================引 用 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
不知道哪邊有問題呢
系統時間:2017-10-24 2:45:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!