2013-02-25 49 views
1

首先,我是VB新手,這是我第一個使用OleDBConnection的項目。閱讀表使用OleDBConnection

好的,所以我想使用oleDbConnection最簡單的事情(我假設)。我只想從Access數據庫中的表中讀取數據,並將該信息顯示在我的winForm中的dropbox(或任何其他數據)中。

Public Class QueManger 
Dim dbConnection As OleDbConnection 
Dim dbCommand As OleDbCommand 
Dim dbDataAdapter As OleDbDataAdapter 
Dim ConnectString As String = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = \\atrts10\F:\Applications\ATRTaxCert\Development\mtaylor\TaxCert_be_test.accdb" 
Dim dtMain As DataTable 

Private Sub QueManger_Load(sender As Object, e As EventArgs) Handles MyBase.Load 

    StatusName() 
End Sub 

Private Sub StatusName() 
    Dim taxconn As OleDbConnection 
    Try 

     taxconn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\atrts10\F:\Applications\ATRTaxCert\Development\mtaylor\TaxCert_be_test.accdb") 
     Dim taxcmd As OleDbCommand = taxconn.CreateCommand 
     taxcmd.CommandText = "SELECT StatusName FROM Status ORDER BY StatusName" 
     Dim rdr2 As OleDbDataReader 
     If taxconn.State = ConnectionState.Closed Then 
      taxconn.Open() 
     End If 
     rdr2 = taxcmd.ExecuteReader 

     'boxStatus.Items.Add("All") 
     While rdr2.Read() 
      boxClient.Items.Add(rdr2.Item("StatusName")) 
     End While 
    Catch ex As Exception 

    Finally 
     taxconn.Close() 
    End Try 
End Sub 

當它試圖運行「taxconn.Open()」函數時出現錯誤。

錯誤提示「Microsoft Access數據庫引擎無法打開或寫入文件'\ atrts10 \ F:\ Applications \ ATRTaxCert \ Development \ mtaylor \ TaxCert_be_test.accdb'。它已由另一用戶專門打開,或您需要查看和寫入其數據的權限。「

有什麼想法?

+1

您可能在MS Access中打開該文件。我相信它通常不是一個問題,除非你目前在Access中有一個表格或其他東西的設計窗口。 – 2013-02-25 21:04:53

+0

就是這樣。我認爲這是問題所在。當人們使用數據庫時,我試圖在工作中處理這些代碼,所以我決定爲我的開發製作一份數據庫副本,但它仍然會帶來錯誤。我是唯一一個知道這個版本數據庫的人。 – MaylorTaylor 2013-02-25 21:08:37

回答

1

如果您正在編輯它們,請嘗試先關閉打開的表格,然後嘗試在字符串之前添加「@」以使用您的路徑。 然後嘗試使用此連接字符串;

string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + yourDataBasePath + ";Persist Security Info=False;"; 
+1

不要混淆C#與VB.NET :) – 2013-02-25 21:15:20

+0

oups:p我想它爲時已晚我的工作時間:p對不起,傢伙 – Capoutcha 2013-02-25 21:18:38

+0

是的,我知道這是C#,但我仍然嘗試。當然沒有運氣。就像我所說的,我是唯一知道這個版本數據庫的人 - 所以我知道沒有人使用它。 – MaylorTaylor 2013-02-25 22:01:09