2012-08-10 78 views
0

在Visual Studio 2010中使用Visual Basic(和.NET 4)時,我想從Access 2007 .accdb數據庫讀取數據。使用Visual Basic讀取Access 2007數據庫

我使用嚮導中的構建連接到數據庫(不導入到項目中),即:「添加新數據源」>「數據庫」> ... 然後自動生成ConnectivityString。

在網絡上的許多文章談論如何連接到使用的連接字符串的數據庫就像Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccess2007file.accdb;Persist Security Info=False;

但我已經好幾個這樣的命令(自動生成)在我的App.config文件。例如:

<connectionStrings> 
     <add name="Wolf_Calc.My.MySettings.wolf_calcConnectionString" 
      connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\wolf-calc.accdb" 
      providerName="System.Data.OleDb" /> 

我可以然後就開始寫在我的代碼查詢,只是這樣做 value = table1.SearchCriterion("x").SearchRange("y")

回答

0

使用嚮導添加數據源時,會自動創建連接字符串。但是爲了能夠正確使用數據庫,還有一些步驟要做。

  1. 創建TableAdapters。爲此,請將「數據源」窗格中的表格拖到表單上。
  2. 將數據加載到可以使用的表中。例如,假設我有一個名爲StarTrek的數據庫,其中包含一個表Enterprise。以下行將數據加載到企業表中:

    Me.EnterpriseTableAdapter.Fill(Me.StarTrekDataSet.Enterprise) 
    
  3. 創建標量查詢。它會在你的表格中找到一個值。在數據設計器中,將查詢添加到企業表(右鍵單擊TableAdapter區域)。 如果期望的結果是年齡斯波克先生(列「年齡」)(列「姓名」),查詢將是:

    ' Access Database 
    SELECT Age FROM Enterprise WHERE (Name = ?) 
    
    ' for an SQL Database 
    SELECT Age FROM Enterprise WHERE Name = [@Name] 
    
  4. 搜索現在可以進行。假設您命名了查詢ScalarQueryAge。以下將Spock先生的年齡顯示爲標籤。

    Dim AgeAdapter As New StarTrekDataSetTableAdapters.EnterpriseTableAdapter 
    Dim Age As Integer = CType(AgeAdapter.ScalarQueryAge("Mister Spock"), Integer) 
    LabelAgeMisterSpock.Text = "He is actually " & Age & "!!" 
    
相關問題