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

路徑問題...

答題得分者是:tech_state
braveheart
一般會員


發表:35
回覆:62
積分:24
註冊:2003-05-21

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-08-08 00:12:42 IP:61.71.xxx.xxx 未訂閱
偶想在別的PC上RUN資料庫程式...知道要設定相對路徑...請問各位先進...要如何設定..謝謝先進
braveheart
一般會員


發表:35
回覆:62
積分:24
註冊:2003-05-21

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-08-08 00:18:27 IP:61.71.xxx.xxx 未訂閱
不好意思..我是用bcb6.0  資料庫為ACCSEE...
tech_state
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-08-08 00:44:31 IP:203.204.xxx.xxx 未訂閱
braveheart, 您好 請試試以下的方法。  
String FilePath = ExtractFilePath(Application->ExeName); //取得目前檔案路徑,假設您的資料庫(access檔案)與AP放在相同目錄。
DBPath = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source ="   FilePath   "Test.MDB";  //設定連接字串(ADOConnection的連接字串)
 
================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
braveheart
一般會員


發表:35
回覆:62
積分:24
註冊:2003-05-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-08-09 19:39:02 IP:61.71.xxx.xxx 未訂閱
請問先進 偶在加入這行之後會出現E2303 Type name expected這錯誤.是名稱問題嗎 謝謝 String FilePath = ExtractFilePath(Application->ExeName); DBPath = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source =" d:\\ "DB.MDB";
tech_state
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-08-09 21:13:32 IP:203.204.xxx.xxx 未訂閱
braveheart, 您好 如果您D:\\是固定的,那麼修改成如下試試看。  
DBPath = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\\DB.MDB";
 
您會發生那個Error是因為您沒有把d:\\用引號("")刮起來。 ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之
braveheart
一般會員


發表:35
回覆:62
積分:24
註冊:2003-05-21

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-08-09 22:17:01 IP:61.71.xxx.xxx 未訂閱
請問先進 DBPath這是BCB滴元件嗎..還是指令阿.. 偶還是會出現上述滴錯誤....謝謝先進
braveheart
一般會員


發表:35
回覆:62
積分:24
註冊:2003-05-21

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-08-09 22:29:18 IP:61.71.xxx.xxx 未訂閱
不好意思..先進...這幾行程式是要放在哪一事件中.. 感謝先進...
tech_state
版主


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

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-08-09 23:28:05 IP:203.204.xxx.xxx 未訂閱
braveheart, 您好 很抱歉沒有說清楚,DBPath是我自己宣告的String。 而其代表的意思是ADOConnection、ADOQuery、ADOTable等元件的ConnectionString屬性的值。 至於要寫在哪一個事件中,我想沒有一定吧! 只要您要將ADOConnection元件的Connected屬性設為true之前,將ConnectionString屬性=DBPath的值。 或是將ADOQuery、ADOTable二個元件的Active屬性設為true之前,將ConnectionString屬性=DBPath的值。 例如:您使用ADOTable元件連結access資料庫。  
String DBPath = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\\DB.MDB";  // DB.MDB檔案必須存放在D磁碟槽底下
ADOTable->ConnectionString = DBPath;
ADOTable->Active = true;
 
補充: 剛剛想到可以將code寫在某一個固定的事件中,如下: void __fastcall TForm2::ADOTable1BeforeOpen(TDataSet *DataSet) { String DBPath = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = d:\\DB.MDB"; // DB.MDB檔案必須存放在D磁碟槽底下 ADOTable1->ConnectionString = DBPath; } //--------------------------------------------------------------------------- void __fastcall TForm2::FormCreate(TObject *Sender) { ADOTable1->Active = true; } ================================= 涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 是非終日有,不聽自然無 天下本無事,庸人自擾之 發表人 - tech_state 於 2003/08/09 23:42:37
braveheart
一般會員


發表:35
回覆:62
積分:24
註冊:2003-05-21

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-08-11 23:24:26 IP:61.71.xxx.xxx 未訂閱
不好意思..突然還有一問題..因為adoconnection在build database時就有路徑問題..雖然會有問題..不過還是可以在別的pc上run..不過我想按照先進的方法加在adoconnection裡..不過還是會出現d:\1.mdb這檔案不存在問題 void __fastcall TForm1::ADOConnection1BeforeConnect(TObject *Sender) { String FilePath = ExtractFilePath(Application->ExeName); ADOConnection1 ->Provider =" Microsoft.Jet.OLEDB.4.0; Data Source =" FilePath "DB.MDB"; } //-------------------------------------------------------------------- 因剛接觸bcb..所以要麻煩先進了...謝謝先進
tech_state
版主


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

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-08-12 00:03:15 IP:61.218.xxx.xxx 未訂閱
braveheart, 您好  
void __fastcall TForm1::ADOConnection1BeforeConnect(TObject *Sender)
{
String FilePath = ExtractFilePath(Application->ExeName);
ADOConnection1 ->Provider =" Microsoft.Jet.OLEDB.4.0; Data Source ="   FilePath   "DB.MDB"; 
}
 
FilePath所得到的路徑是您目前執行檔的路徑。 假設您的AP是放在D:\test\的話,FilePath就會是D:\test 所以您說會出現d:\1.mdb這檔案不存在問題,我想您的AP應該不是放在這個位置(d:\)吧?! 再提醒您一點,如果您要使用上述的code,則您的資料庫必須與AP放在同一個目錄底下。 再試試看吧!有問題再提出來大家一起討論。 有問題表示您有做實驗,有測試,只要我有時間而且是我能力範圍的,不會不告知的。 加油! ================================= <>涵養怒中氣。謹防順口言。留心忙裡錯。珍惜有時錢。 <>是非終日有,不聽自然無 <>天下本無事,庸人自擾之
braveheart
一般會員


發表:35
回覆:62
積分:24
註冊:2003-05-21

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-08-14 23:16:24 IP:61.71.xxx.xxx 未訂閱
謝謝先進...問題已解決...原來在ADOCONNECTION的ConnectionString 去掉就可以了...謝謝... 不過跟原來比較之下..這樣所有ADO元件聯結到資料庫路徑都要自己用了...會比較麻煩...謝謝先進...感恩阿...
系統時間:2024-04-27 1:49:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!