2016-07-28 20 views
0

我有一個按鈕和一個dataGridView的表單,我知道我可以用OleDB連接打開我的數據庫,但我的問題是我可能不得不搜索我的數據庫的位置(一個「.mdb」文件)在我的電腦上。如何用File.Open方法打開數據庫

有沒有什麼辦法,用這個按鈕,我打開一個File.Open(搜索我的數據庫),然後顯示在我的datagridview?

+0

如果你知道MDB的數據結構,那麼是的。否則不。 – 2016-07-28 11:50:24

+0

我怎麼可能搜索它(我將添加篩選器只讀取.mdb文件),當我選擇它時,我已經激活我的查詢來做一個'SELECT * FROM mydatabase'並在datagridView上顯示它 – MattDAVM

+0

使用OleDB,這很容易,然後重新發明OleDB。 – 2016-07-28 11:53:43

回答

2

我不知道你的意思「File.Open」什麼的,但你可以創建一個OpenFileDialog用戶可以選擇他想打開的文件。在這個對話框中你會得到一個你可以在你的連接字符串中使用的文件名。

OpenFileDialog dlg = new OpenFileDialog(); 
dlg.Filter = "Database Files|*.mdb"; 
if (dlg.ShowDialog() == DialogResult.OK) { 
    string dbfile = dlg.FileName; 
    string connectstring = string.format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0}";Persist Security Info=False;, dbfile); 

    using (OleDbConnection con = new OleDbConnection(connectstring)) { 
     //... do your database operations here 
    } 

} 
+0

說「file.Open」我的意思是這種情況https://msdn.microsoft.com/en-us/library/b9skfh7s(v=vs.110).aspx – MattDAVM

+1

不,你不能直接用'File .Open',除非你知道該文件的內部結構。這就是OleDb的用處,你必須自己重新實現所有這些東西。 – derpirscher