為何不能打開資料庫內所有的資料表格 |
尚未結案
|
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
a120803, 您好
不了解您說不能打開資料庫內所有的資料表格是什麼意思?
(1)Database1->DataSetCount;要其值大於零的話,其connection的DataSet必須是Active = true;也就是必須是open的。以下是我由help檔查出的資料,供您參考。
Indicates the number of active datasets associated with the connection component. (2)DataSets[i]->Open();應該是Database1->DataSets[i]->Open();吧?? 由( > 還是您是要經由這個 > =================================
<>涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。>
<>是非終日有,不聽自然無>
<>天下本無事,庸人自擾之>
|
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
|
a120803
初階會員 發表:61 回覆:66 積分:25 註冊:2003-03-12 發送簡訊給我 |
|
tech_state
版主 發表:44 回覆:638 積分:641 註冊:2003-02-10 發送簡訊給我 |
a120803, 您好
如果是用MSSQL的話
有以下兩種方法:
(1)先設定好ADOConnection1的屬性,例如:ConnectionString(用來得知您的Database),Connected=true(確定有連結上Database) ADOConnection1->GetTableNames(ListBox1->Items, false); // 得知這個Database有多少Table及TableName for (int i = 0; i < ListBox1->Items->Count; i ) ADOConnection1->DataSets[i]->Open(); (2)一樣要先設定好ADOConnection1的屬性,將ADOQuery2的Connection屬性設為ADOConnection1,然後由以下的code查詢出這個Database有多少Table及TableName ADOQuery2->Close(); ADOQuery2->SQL->Clear(); ADOQuery2->SQL->Text = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES "; ADOQuery2->Open(); for (int i = 0; i < ADOQuery2->RecordCount; i ) { ADOConnection1->DataSets[i]->Open(); ADOQuery2->Next(); }以上兩種方法都可以一次將Database裡的所有Table都做Open的動作。 因為我不懂Visual Foxpro,所以不知道是否也可以透過TADOConnection元件來連結,如果可以的話,用(1)方法就可以解決了。 如果不行,而一定要用TDatabase元件的話,可能會有麻煩。我查過TDatabase元件,好像Table一定要Open,這樣TDatabase元件才會有紀錄,不然就無法得知。 如果有前輩有這方面經驗的,請指教。 ================================= <>涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。> <>是非終日有,不聽自然無> <>天下本無事,庸人自擾之> |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |