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

把資料庫的內容存成cvs的問題

缺席
scorpiotang
一般會員


發表:4
回覆:0
積分:0
註冊:2006-08-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-08-18 16:47:05 IP:202.71.xxx.xxx 未訂閱

我想限制每一個檔案最多只可以有"xxx"行

xxx可以由用者自行決定多少~但不可以多過200

我想知道,如果我的資料庫中有五百行資料~分200行為一檔案~不足100的當一個計算~共可以分三個~

我要怎樣寫,才可以同一時間把五百行~分開三個檔案來儲存??
而檔名是filename0.cvs filename1.cvs filename3.cvs

TStringList* csvemail = new TStringList();
AnsiString semail="";
DMTD->rs_sa_email->Close();
DMTD->rs_sa_email->CommandText="select * from EmailA";
DMTD->rs_sa_email->Open();
while (!DMTD->rs_sa_email->Eof)
{
semail =DMTD->rs_sa_email->FieldByName("fd_Email")->AsString "\r\n";
DMTD->rs_sa_email->Next();
}
csvemail->Add(semail);
sa_email->FileName = edt_e_paht->Text "Email.cvs";
csvemail->SaveToFile(sa_email->FileName);
delete csvemail;
csvemail = NULL;
ShowMessage("File Saved");

上面是我寫save部份時用的code

justdo
高階會員


發表:2
回覆:359
積分:222
註冊:2004-08-17

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-08-20 18:35:19 IP:59.105.xxx.xxx 未訂閱

你原本的code:

while(資料未結束)
{
將資料append到字串semail;
讀下筆資料
}
將字串加到csvemail
指定檔名
呼叫csvemail存檔

改成:

宣告count為0
宣告fileid為0

while(資料未結束)
{
將資料append到字串semail;
讀下筆資料
count ;

if (count == 200) {
呼叫存檔(傳參數semail, 和fileid)
fileid ;
}
}

//將字串加到csvemail //這三個指令都移到另外負責存檔的function
//指定檔名
//呼叫csvemail存檔

if (count % 200 != 0)
呼叫存檔(傳參數semail, 和fileid)

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