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

請問BDE如何將資料庫的資料讀取出來存進我宣告的AnsiString

答題得分者是:herbert2
rockhaword
一般會員


發表:3
回覆:5
積分:1
註冊:2011-05-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2011-05-30 16:21:19 IP:140.114.xxx.xxx 訂閱
目前用SQLConnection + SQLClientDataSet + DataSource + DBGrid 已經連接interBase資料庫

資料庫的欄位為SOURCE(varchar), TARGET(varchar), TIME_STAMP(varchar)

請問要用什麼函數才能將資料庫裡的資料抓取出來存進我宣告的AnsiString buffer?
herbert2
尊榮會員


發表:58
回覆:640
積分:894
註冊:2004-04-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2011-05-30 16:41:17 IP:202.39.xxx.xxx 訂閱
用個迴圈,將 SQLClientDataSet 從頭到尾逐筆存進 AnsiString buffer (用 TStrings 較方便)
AnsiString sx1,sx2,sx3;
TStrings *TStrings1 = new TStringsList();
SQLClientDataSet->First();
while (!SQLClientDataSet->Eof) {
sx1 = SQLClientDataSet->FieldByName("SOURCE")->AsString;
sx2 = SQLClientDataSet->FieldByName("TARGET")->AsString;
sx3 = SQLClientDataSet->FieldByName("TIME_STAMP")->AsString;
TStrings1->Append(sx1 "," sx2 "," sx3); // 或其他您想要的格式
SQLClientDataSet->Next();
}
TStrings1->SaveToFile("C:\\Test.txt");
delete TStrings1;
詳細用法,請參閱各 Class、Component 之 Help。

補充:TStrings1->Strimgs[0] ~ TStrings1->Strimgs[SQLClientDataSet->RecordCount-1] 即為 AnsiString 集。
編輯記錄
herbert2 重新編輯於 2011-05-30 02:46:59, 註解 無‧
rockhaword
一般會員


發表:3
回覆:5
積分:1
註冊:2011-05-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2011-05-30 16:58:33 IP:140.114.xxx.xxx 訂閱
真的十分感謝 問題已經解決
系統時間:2024-11-25 19:54:47
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!