作者sunnycat (小烏龜慢慢爬~)
看板Visual_Basic
標題Re: [.NET] 資料庫連結access路徑
時間Mon Apr 23 22:13:20 2007
※ 引述《fumizuki (矇面加菲獅)》之銘言:
: 你要使用絕對路徑,不是相對路徑,
: 相對路徑會以Application.StartupPath為原點去找檔案:
: ..\123.mdb 是相對路徑
: 123.mdb 也是相對路徑
: c:\data\123.mdb 這樣形式的才是絕對路徑
: Application.StartupPath 是執行中應用程式的執行檔路徑,不能給你修改的
: 你執行檔放在哪個資料夾 Application.StartupPath 就會指向那個資料夾
: 假設你的資料庫檔案存放在c:\data\123.mdb
: 你的資料連接字串就要設成:
: Data Source=c:\data\123.mdb;
: 假設你的資料庫檔案是跟著執行檔的資料夾的話
: ex: C:\Program Files\MyApp\MyApp.exe 執行檔路徑
: C:\Program Files\MyApp\data\123.mdb 資料夾路徑
: 你的資料連接字串就要設成:
: connectionstring = "Data Source=" & Application.StartupPath & "data\123.mdb"
不好意思...有點不太懂...
connectionstring是要放在哪邊呢?
我現在資料庫檔案就是跟著執行檔的資料夾(960423)
資料夾在D槽底下
那這樣Data Source要改成D:\960423\data\123.mdb ?
那如果我將執行檔的資料夾放到C底下...就要再改一次不是嗎?
(我說的DataSource是OleDbConnection1屬性中的ConnectionString喔@@)
但是如果把DataSource寫成"123.mdb"
他不是會抓執行檔資料夾bin中的123.mdb嗎??
我在測試的時候這樣是可以的...(不是存檔的地方)
因為我把他改成data\123.mdb
那一開始FormLoad時他就會出現
Me.OleDbDataAdapter1.Fill(DataSet12)
發生 Run-Time 例外狀況: System.Data.OleDb.OleDbException -
'D:\960423\bin\data\123.mdb'
不是一個有效的路徑。請確定路徑名稱是拼對的,而且檔案位於您所連接的伺服器上。
改回123.mdb的話FormLoad時就沒問題了,其他新增刪除也是沒問題
可是存檔時就是會有問題
我的寫法是
Me.OleDbDataAdapter1.Update(DataSet12, "Song")
跟其他地方寫法是一樣的....
但是他就會出現我之前說的
發生 Run-Time 例外狀況:
System.Data.OleDb.OleDbException -
找不到 'C:\Documents and Settings\E517_1\桌面\123.mdb' 檔案。
所以讓我非常疑惑.....為什麼他就是會去桌面找呢???
--
◢██◣
███▋ 那晚的月亮,好圓好亮好亮...。 ◣ ◢
◥██ http://www.wretch.cc/album/sunnycat >.. <
◥▂▄▆█▇▄▁_ ﹍﹍﹍﹎﹍ ﹍﹎﹍ ﹍﹎﹍﹎﹍ ﹍sunnycat﹍ ▲ρ﹍
▇▅▃▆▇▇ ﹉﹊ ﹊ ﹉ ﹊﹉﹉ ﹊﹉﹉
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.17.10.94
推 fumizuki:oledbconnection.connectionstring 04/23 22:23
推 sunnycat:其他資訊: 連接字串中未指定 OLE DB 提供者。正確範例為 04/23 22:27
→ sunnycat:'Provider=SQLOLEDB;'。 04/23 22:28
推 fumizuki:就是你的資料來源設定啊 04/23 22:28
→ sunnycat:我把他放在Form1_Load出現的錯誤訊息@@ 04/23 22:28
→ sunnycat:從屬性那邊沒辦法改@@ 他說無效的屬性值 04/23 22:29
→ fumizuki:你不是用 工具 連接資料庫來建立資料連線的嗎... 04/23 22:30
→ fumizuki:現成的工具就可以選擇資料庫檔案,應該不會有錯誤@@ 04/23 22:30
→ fumizuki:建好資料連線後在資料庫總管視窗中直接把資料表拉出來 04/23 22:31
→ fumizuki:就可以顯示資料了@@ (以vb2005為例) 04/23 22:31