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

關於寫入資料庫

答題得分者是:GrandRURU
sssp116
一般會員


發表:23
回覆:27
積分:10
註冊:2008-12-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-03-31 14:41:00 IP:60.248.xxx.xxx 未訂閱
小弟有兩個資料庫為A跟B
現在小弟已經利用程式把A的資料抓出來顯示在DBGrid上面了
而裡面有一個資料列是顯示True/False的
小弟是想要把此資料列為True的一一寫入B資料庫裡面
請問大大該如何寫呢?(A跟B的資料庫裡面的資料型態都是一樣的)
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-03-31 16:52:28 IP:61.219.xxx.xxx 未訂閱
開兩個DB CONNECTION,然後一筆一筆指向囉


===================引 用 sssp116 文 章===================
小弟有兩個資料庫為A跟B
現在小弟已經利用程式把A的資料抓出來顯示在DBGrid上面了
而裡面有一個資料列是顯示True/False的
小弟是想要把此資料列為True的一一寫入B資料庫裡面
請問大大該如何寫呢?(A跟B的資料庫裡面的資料型態都是一樣的)
sssp116
一般會員


發表:23
回覆:27
積分:10
註冊:2008-12-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-03-31 17:11:00 IP:60.248.xxx.xxx 未訂閱
小弟是使用迴圈一筆一筆寫入可是不曉得都只寫到最後一筆
Code是BCB的跟Delphi差不多所以我放我原本用BCB寫的
[code cpp]
for (int i=1 ; i<=ADOQuery2->Eof ; i )
{
if (ADOQuery1->FieldByName("U_chkdb")->AsString=="True")
{
ADOQuery2->Open();
ADOQuery2->Insert();
ADOQuery2->FieldByName("U_chkdb")->AsString = ADOQuery1->FieldByName("U_chkdb")->AsString;
ADOQuery2->FieldByName("DocNum")->AsString = ADOQuery1->FieldByName("DocNum")->AsString;
ADOQuery2->FieldByName("ItemCode")->AsString = ADOQuery1->FieldByName("ItemCode")->AsString;
ADOQuery2->FieldByName("ItemName")->AsString = ADOQuery1->FieldByName("ItemName")->AsString;
ADOQuery2->FieldByName("PlannedQty")->AsString = ADOQuery1->FieldByName("PlannedQty")->AsString;
ADOQuery2->FieldByName("WhsName")->AsString = ADOQuery1->FieldByName("WhsName")->AsString;
ADOQuery2->FieldByName("U_iane21")->AsString = ADOQuery1->FieldByName("U_iane21")->AsString;
ADOQuery2->FieldByName("U_iane22")->AsString = ADOQuery1->FieldByName("U_iane22")->AsString;
ADOQuery2->FieldByName("Comments")->AsString = ADOQuery1->FieldByName("Comments")->AsString;
ADOQuery2->Post();
ADOQuery2->Close();
}
]
[/code]

===================引 用 GrandRURU 文 章===================
開兩個DB CONNECTION,然後一筆一筆指向囉


===================引 用 sssp116 文 章===================
小弟有兩個資料庫為A跟B
現在小弟已經利用程式把A的資料抓出來顯示在DBGrid上面了
而裡面有一個資料列是顯示True/False的
小弟是想要把此資料列為True的一一寫入B資料庫裡面
請問大大該如何寫呢?(A跟B的資料庫裡面的資料型態都是一樣的)
GrandRURU
站務副站長


發表:240
回覆:1680
積分:1874
註冊:2005-06-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2011-03-31 21:26:59 IP:111.249.xxx.xxx 未訂閱
如果是我,我想我可能會這樣寫
[code cpp]
ADOQuery1->Open();
ADOQuery2->Open();
while (!ADOQuery1->Eof)
{
if (ADOQuery1->FieldByName("U_chkdb")->AsString == "True")
{
ADOQuery2->Insert();
ADOQuery2->FieldByName("U_chkdb")->AsString = ADOQuery1->FieldByName("U_chkdb")->AsString;
ADOQuery2->FieldByName("DocNum")->AsString = ADOQuery1->FieldByName("DocNum")->AsString;
ADOQuery2->FieldByName("ItemCode")->AsString = ADOQuery1->FieldByName("ItemCode")->AsString;
ADOQuery2->FieldByName("ItemName")->AsString = ADOQuery1->FieldByName("ItemName")->AsString;
ADOQuery2->FieldByName("PlannedQty")->AsString = ADOQuery1->FieldByName("PlannedQty")->AsString;
ADOQuery2->FieldByName("WhsName")->AsString = ADOQuery1->FieldByName("WhsName")->AsString;
ADOQuery2->FieldByName("U_iane21")->AsString = ADOQuery1->FieldByName("U_iane21")->AsString;
ADOQuery2->FieldByName("U_iane22")->AsString = ADOQuery1->FieldByName("U_iane22")->AsString;
ADOQuery2->FieldByName("Comments")->AsString = ADOQuery1->FieldByName("Comments")->AsString;
ADOQuery2->Post();
}
ADOQuery1->Next();
}
ADOQuery2->Close();
ADOQuery1->Close();
[/code]

===================引 用 sssp116 文 章===================
小弟是使用迴圈一筆一筆寫入可是不曉得都只寫到最後一筆
Code是BCB的跟Delphi差不多所以我放我原本用BCB寫的
[code cpp]
for (int i=1 ; i<=ADOQuery2->Eof ; i )
{
if (ADOQuery1->FieldByName("U_chkdb")->AsString=="True")
{
ADOQuery2->Open();
ADOQuery2->Insert();
ADOQuery2->FieldByName("U_chkdb")->AsString = ADOQuery1->FieldByName("U_chkdb")->AsString;
ADOQuery2->FieldByName("DocNum")->AsString = ADOQuery1->FieldByName("DocNum")->AsString;
ADOQuery2->FieldByName("ItemCode")->AsString = ADOQuery1->FieldByName("ItemCode")->AsString;
ADOQuery2->FieldByName("ItemName")->AsString = ADOQuery1->FieldByName("ItemName")->AsString;
ADOQuery2->FieldByName("PlannedQty")->AsString = ADOQuery1->FieldByName("PlannedQty")->AsString;
ADOQuery2->FieldByName("WhsName")->AsString = ADOQuery1->FieldByName("WhsName")->AsString;
ADOQuery2->FieldByName("U_iane21")->AsString = ADOQuery1->FieldByName("U_iane21")->AsString;
ADOQuery2->FieldByName("U_iane22")->AsString = ADOQuery1->FieldByName("U_iane22")->AsString;
ADOQuery2->FieldByName("Comments")->AsString = ADOQuery1->FieldByName("Comments")->AsString;
ADOQuery2->Post();
ADOQuery2->Close();
}
]
[/code]

===================引 用 GrandRURU 文 章===================
開兩個DB CONNECTION,然後一筆一筆指向囉


===================引 用 sssp116 文 章===================
小弟有兩個資料庫為A跟B
現在小弟已經利用程式把A的資料抓出來顯示在DBGrid上面了
而裡面有一個資料列是顯示True/False的
小弟是想要把此資料列為True的一一寫入B資料庫裡面
請問大大該如何寫呢?(A跟B的資料庫裡面的資料型態都是一樣的)
lsh19871112
一般會員


發表:2
回覆:8
積分:7
註冊:2010-09-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2011-04-02 11:42:03 IP:116.30.xxx.xxx 訂閱
如果是同一数据库的话,一条SQL就可以搞定
UPDATE A SET
字段1=B.字段3
FROM 表1 A INNER JOIN 表2 B ON A.字段2=B.字段2
sssp116
一般會員


發表:23
回覆:27
積分:10
註冊:2008-12-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2011-04-11 08:59:02 IP:60.248.xxx.xxx 未訂閱
各位先進,謝謝您們的解說,我解決了。
編輯記錄
sssp116 重新編輯於 2011-04-10 19:01:57, 註解 無‧
sssp116 重新編輯於 2011-04-10 19:44:47, 註解 無‧
系統時間:2024-03-29 18:38:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!