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

路徑的問題

答題得分者是:careychen
kill42el
一般會員


發表:30
回覆:50
積分:16
註冊:2008-06-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-11-22 01:54:56 IP:123.204.xxx.xxx 訂閱
抱歉
問一個很愚蠢的問題
就是當我把我的程式,拿到別台電腦運作
http://delphi.ktop.com.tw/download.php?download=upload/48b6032bc7f76_新資料夾.rar
就會出現這訊息,想說路徑有問題,就直接在這台電腦改
但還是一樣出現這訊息,既然如此 那我就把ADO刪掉從新再拉
結果還是一樣,請前輩們幫個忙 ,這問題已經困惱很多天了
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-11-22 15:33:59 IP:59.126.xxx.xxx 訂閱
既然是路徑的問題,讓您的程式與 Access 在同一個路徑下,應該不會錯吧
所以要達成上面的方式

您原本在 ADOConnection 的 ConnectionString 會指定一個路徑,而這個當然在您自己的開發環境上不會錯,
但被發佈的那一台機器沒有該相關的路徑,所以在 ADOConnectin 的 OnWillConnect 的事件裡面改寫
ConnectionString 裡的路徑就好了。


[code delphi]
procedure TForm1.ADOConnection1WillConnect(Connection: TADOConnection;
var ConnectionString, UserID, Password: WideString;
var ConnectOptions: TConnectOption; var EventStatus: TEventStatus);
begin
// 先把原本元件內的 ConnectionString Copy 進來後,再改寫其路徑
// 然後發佈程式時,請把 Access 檔與程式放在一起
// ※※ 【注意】底下的 ConnectionString 請記得用您自己的,我的是 Office 2007 所以不大一樣!!
ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Password="";'
'Data Source=' ExtractFilePath(Application.ExeName) 'Database1.accdb;'
'Persist Security Info=True';
end;
[/code]

以上是第一個注意事項,第二個注意事項,請在發佈前【先將 ADOConnection 的 Active 】設為 False
使用程式動態設為 True !!!!!

===================引 用 kill42el 文 章===================
抱歉
問一個很愚蠢的問題
就是當我把我的程式,拿到別台電腦運作
http://delphi.ktop.com.tw/download.php?download=upload/48b6032bc7f76_新資料夾.rar
就會出現這訊息,想說路徑有問題,就直接在這台電腦改
但還是一樣出現這訊息,既然如此 那我就把ADO刪掉從新再拉
結果還是一樣,請前輩們幫個忙 ,這問題已經困惱很多天了
------
價值的展現,來自於你用哪一個角度來看待它!!
編輯記錄
careychen 重新編輯於 2008-11-22 15:36:40, 註解 無‧
kill42el
一般會員


發表:30
回覆:50
積分:16
註冊:2008-06-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-11-22 23:17:31 IP:123.204.xxx.xxx 訂閱
多謝 前輩熱情的指導
還有,前輩所說的【先將 ADOConnection 的 Active 】設為 False
但我找不到 ADOConnection 的 Active
http://delphi.ktop.com.tw/download.php?download=upload/48b64d64c9fe5_未命名.JPG
勞煩了,前輩
===================引 用 careychen 文 章===================
既然是路徑的問題,讓您的程式與 Access 在同一個路徑下,應該不會錯吧
所以要達成上面的方式

您原本在 ADOConnection 的 ConnectionString 會指定一個路徑,而這個當然在您自己的開發環境上不會錯,
但被發佈的那一台機器沒有該相關的路徑,所以在 ADOConnectin 的 OnWillConnect 的事件裡面改寫
ConnectionString 裡的路徑就好了。


[code delphi]
procedure TForm1.ADOConnection1WillConnect(Connection: TADOConnection;
var ConnectionString, UserID, Password: WideString;
var ConnectOptions: TConnectOption; var EventStatus: TEventStatus);
begin
// 先把原本元件內的 ConnectionString Copy 進來後,再改寫其路徑
// 然後發佈程式時,請把 Access 檔與程式放在一起
// ※※ 【注意】底下的 ConnectionString 請記得用您自己的,我的是 Office 2007 所以不大一樣!!
ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Password="";'
'Data Source=' ExtractFilePath(Application.ExeName) 'Database1.accdb;'
'Persist Security Info=True';
end;
[/code]

以上是第一個注意事項,第二個注意事項,請在發佈前【先將 ADOConnection 的 Active 】設為 False
使用程式動態設為 True !!!!!
編輯記錄
kill42el 重新編輯於 2008-11-22 23:20:46, 註解 無‧
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-11-22 23:28:59 IP:59.126.xxx.xxx 訂閱
嗯…這個…那個…是我搞錯了,拍謝拍謝,是 Connected 設為 False ~~!!!!

===================引 用 kill42el 文 章===================
多謝 前輩熱情的指導
還有,前輩所說的【先將 ADOConnection 的 Active 】設為 False
但我找不到 ADOConnection 的 Active
http://delphi.ktop.com.tw/download.php?download=upload/48b64d64c9fe5_未命名.JPG
勞煩了,前輩
===================引 用 careychen 文 章===================
既然是路徑的問題,讓您的程式與 Access 在同一個路徑下,應該不會錯吧
所以要達成上面的方式

您原本在 ADOConnection 的 ConnectionString 會指定一個路徑,而這個當然在您自己的開發環境上不會錯,
但被發佈的那一台機器沒有該相關的路徑,所以在 ADOConnectin 的 OnWillConnect 的事件裡面改寫
ConnectionString 裡的路徑就好了。


[code delphi]
procedure TForm1.ADOConnection1WillConnect(Connection: TADOConnection;
var ConnectionString, UserID, Password: WideString;
var ConnectOptions: TConnectOption; var EventStatus: TEventStatus);
begin
// 先把原本元件內的 ConnectionString Copy 進來後,再改寫其路徑
// 然後發佈程式時,請把 Access 檔與程式放在一起
// ※※ 【注意】底下的 ConnectionString 請記得用您自己的,我的是 Office 2007 所以不大一樣!!
ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Password="";'
'Data Source=' ExtractFilePath(Application.ExeName) 'Database1.accdb;'
'Persist Security Info=True';
end;
[/code]

以上是第一個注意事項,第二個注意事項,請在發佈前【先將 ADOConnection 的 Active 】設為 False
使用程式動態設為 True !!!!!
------
價值的展現,來自於你用哪一個角度來看待它!!
kill42el
一般會員


發表:30
回覆:50
積分:16
註冊:2008-06-04

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-11-23 22:31:39 IP:123.204.xxx.xxx 訂閱

前輩,你好
按照前輩給予的指示去修改ConnectionString 裡的路徑
想再請問 是否我哪邊有誤呢??一直出現錯誤

[code cpp]
void __fastcall TForm1::ADOConnection1WillConnect(
TADOConnection *Connection, WideString &ConnectionString,
WideString &UserID, WideString &Password,
TConnectOption &ConnectOptions, TEventStatus &EventStatus)
{
ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0 ;Password="";'
'Data Source=C:\Documents and Settings\Administrator\桌面\最終版本.999\stu.mdb;'
'Persist Security Info=False
end;
}
[/code]
http://delphi.ktop.com.tw/download.php?download=upload/48b6032bc7f76_新資料夾.rar
===================引 用 careychen 文 章===================
既然是路徑的問題,讓您的程式與 Access 在同一個路徑下,應該不會錯吧
所以要達成上面的方式

您原本在 ADOConnection 的 ConnectionString 會指定一個路徑,而這個當然在您自己的開發環境上不會錯,
但被發佈的那一台機器沒有該相關的路徑,所以在 ADOConnectin 的 OnWillConnect 的事件裡面改寫
ConnectionString 裡的路徑就好了。


[code delphi]
procedure TForm1.ADOConnection1WillConnect(Connection: TADOConnection;
var ConnectionString, UserID, Password: WideString;
var ConnectOptions: TConnectOption; var EventStatus: TEventStatus);
begin
// 先把原本元件內的 ConnectionString Copy 進來後,再改寫其路徑
// 然後發佈程式時,請把 Access 檔與程式放在一起
// ※※ 【注意】底下的 ConnectionString 請記得用您自己的,我的是 Office 2007 所以不大一樣!!
ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Password="";'
'Data Source=' ExtractFilePath(Application.ExeName) 'Database1.accdb;'
'Persist Security Info=True';
end;
[/code]

以上是第一個注意事項,第二個注意事項,請在發佈前【先將 ADOConnection 的 Active 】設為 False
使用程式動態設為 True !!!!!
careychen
尊榮會員


發表:41
回覆:580
積分:959
註冊:2004-03-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-11-23 23:28:08 IP:59.126.xxx.xxx 訂閱
請看一下,我原本回的 Data Source 是動態指定 Access 路徑的,而你的程式依舊是寫死的
請改一下

===================引 用 kill42el 文 章===================

前輩,你好
按照前輩給予的指示去修改ConnectionString 裡的路徑
想再請問 是否我哪邊有誤呢??一直出現錯誤

[code cpp]
void __fastcall TForm1::ADOConnection1WillConnect(
TADOConnection *Connection, WideString &ConnectionString,
WideString &UserID, WideString &Password,
TConnectOption &ConnectOptions, TEventStatus &EventStatus)
{
ConnectionString :='Provider=Microsoft.Jet.OLEDB.4.0 ;Password="";'
'Data Source=C:\Documents and Settings\Administrator\桌面\最終版本.999\stu.mdb;'
'Persist Security Info=False
end;
}
[/code]
http://delphi.ktop.com.tw/download.php?download=upload/48b6032bc7f76_新資料夾.rar
===================引 用 careychen 文 章===================
既然是路徑的問題,讓您的程式與 Access 在同一個路徑下,應該不會錯吧
所以要達成上面的方式

您原本在 ADOConnection 的 ConnectionString 會指定一個路徑,而這個當然在您自己的開發環境上不會錯,
但被發佈的那一台機器沒有該相關的路徑,所以在 ADOConnectin 的 OnWillConnect 的事件裡面改寫
ConnectionString 裡的路徑就好了。


[code delphi]
procedure TForm1.ADOConnection1WillConnect(Connection: TADOConnection;
var ConnectionString, UserID, Password: WideString;
var ConnectOptions: TConnectOption; var EventStatus: TEventStatus);
begin
// 先把原本元件內的 ConnectionString Copy 進來後,再改寫其路徑
// 然後發佈程式時,請把 Access 檔與程式放在一起
// ※※ 【注意】底下的 ConnectionString 請記得用您自己的,我的是 Office 2007 所以不大一樣!!
ConnectionString := 'Provider=Microsoft.ACE.OLEDB.12.0;Password="";'
'Data Source=' ExtractFilePath(Application.ExeName) 'Database1.accdb;'
'Persist Security Info=True';
end;
[/code]

以上是第一個注意事項,第二個注意事項,請在發佈前【先將 ADOConnection 的 Active 】設為 False
使用程式動態設為 True !!!!!
------
價值的展現,來自於你用哪一個角度來看待它!!
kill42el
一般會員


發表:30
回覆:50
積分:16
註冊:2008-06-04

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