2014-12-25 17 views
-3

我需要幫助! 我想有微軟存取權限2013年和我的windows窗體之間的連接,它不工作,我不知道爲什麼,這是我的代碼:Ms Access2013與windows窗體c#(oledb)之間的連接

private void Form1_Load(object sender, EventArgs e) 
    { 
     OleDbConnection cnn = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.15.0;Data Source= C:\\Users\\NIZAR\\Documents\\Visual Studio 2010\\Projects\\C#\\testConnBD1\\testConnBD1\\madb1.accdb"); 
     try 
     { 
      cnn.Open(); 

      MessageBox.Show("Connection Open ! "); 
      cnn.Close(); 
     } 
     catch 
     { 
      MessageBox.Show("Can not open connection ! "); 
     } 
    } 
+0

你得到什麼錯誤信息? – Avijit

+1

用catch(Exception ex){MessageBox.Show(ex.Message); }'並告訴我們顯示的錯誤消息 – Steve

+0

我的猜測是正在使用的體系結構需要設置爲x86:http://stackoverflow.com/questions/13879789/x64-application-accessing-mdb-database –

回答

0

EDIT1: 它解決了感謝的所有的你,我做的文件名錯誤:| 編輯2:正確的連接字符串是:

Provider=Microsoft.ACE.OLEDB.15.0;Data [email protected]"C:\\Users\\%usename%\\{%pathToYourData%}\\{%databaseName.Extension%}" 
1

您可能需要Microsoft Access 2013 Runtime.

在Microsoft Access 2013 Runtime使您可以將Access 2013應用程序分發給未在其計算機上安裝完整版Access 2013的用戶。

Microsoft Access 2007 = ACE 12; Microsoft Access 2010 = ACE 14;的Microsoft Access 2013 = ACE 15

enter image description here