全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2630
推到 Plurk!
推到 Facebook!

請問有關於BCB如何動態產生資料表的問題:

缺席
steve6912
一般會員


發表:5
回覆:14
積分:3
註冊:2006-07-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-07-05 14:31:53 IP:220.229.xxx.xxx 未訂閱

我現在在設計一個能讓數值亂數產生,並且存在MYSQL資料庫,再由DBChart來抓資料畫圖,但是現在我想要讓他依照日期來新增資料庫裡的資料表,以下是這段新增的程式:

Table1->Active=false;
TDateTime t1 ;

AnsiString str1 ;
t1 = Date();
str1 = FormatDateTime("yyyymmdd" ,t1 ) ;

TTable *NewTable = new TTable(Form1);
NewTable->Active = false;
NewTable->TableType = ttDefault;
NewTable->DatabaseName = "ppp";
NewTable->TableName=???;

NewTable->FieldDefs->Clear();
NewTable->FieldDefs->Add("filename",ftString,10,true);
NewTable->FieldDefs->Add("value1",ftInteger,0,false);
NewTable->FieldDefs->Add("value2",ftInteger,0,false);
NewTable->FieldDefs->Add("value3",ftInteger,0,false);
NewTable->FieldDefs->Add("value4",ftInteger,0,false);
NewTable->FieldDefs->Add("value5",ftInteger,0,false);
NewTable->FieldDefs->Add("value6",ftInteger,0,false);
NewTable->FieldDefs->Add("value7",ftInteger,0,false);
NewTable->FieldDefs->Add("value8",ftInteger,0,false);
NewTable->FieldDefs->Add("value9",ftInteger,0,false);
NewTable->FieldDefs->Add("value10",ftInteger,0,false);

NewTable->IndexDefs->Clear();
NewTable->IndexDefs->Add("","filename", TIndexOptions() << ixPrimary << ixUnique);

NewTable->CreateTable();
NewTable->Free();

我不知道在TableName的地方要打上什麼,還是我的日期宣告方式有錯,麻煩懂這個的高手們給我個方向,還有我的MYSQL資料庫,亂數產生資料到585筆的時候,就會開始出現問題,我是讓他每秒產生一筆亂數資料,到585的時候,他就會開始跳,就中間會停頓一秒,是不是跟我直接連到DBChart有關係呢?

再來就是新增的資料表,如果我要把再來的資料都丟到新增的資料表,那要怎麼寫呢?是寫Table1->TableName=NewTable->TableName;<----像這個樣子嗎?

麻煩各位高手了,我已經想了整整二天,完全沒有頭緒,麻煩給我個方向吧,謝謝。

暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2006-07-09 12:03:02 IP:210.64.xxx.xxx 未訂閱
我用MYSQL C寫程式.是在FREEBSD上開始的.
所以我到WIN下面寫BCB的MYSQL CLIENT時.
遇到那樣的介面,有些頭大.因為用起來沒有直接的感覺.
所以我去安裝了 MySQL window 版.
它裏面有 C API 可以讓 BCB 可以直接使用.
而你的功能只用到 create table 這個直接用 SQL 語法去寫它.
用 C API 的 function 去處理.
應該會比透過 ODBC/BDE 還要快吧.
tech_state
版主


發表:44
回覆:638
積分:641
註冊:2003-02-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2006-07-11 00:31:12 IP:59.105.xxx.xxx 未訂閱
我不知道在TableName的地方要打上什麼,還是我的日期宣告方式有錯-->請問這兩者有什麼關係呢?

您是要把NewTable取名為日期嗎?如果是依照您的宣告

NewTable->TableName=???;-->改為NewTable->TableName=str1;就可以了。

試試看吧!

Good Lucky!!

steve6912
一般會員


發表:5
回覆:14
積分:3
註冊:2006-07-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2006-07-24 19:26:04 IP:220.229.xxx.xxx 未訂閱
嗯嗯…我會再試試的…謝謝各位的回答…^^
系統時間:2024-04-26 5:11:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!