0

Visual Studio2010でVisualBasic(および.NET 4)を使用して、Access2007.accdbデータベースから読み取りたいと思います。

ビルドインウィザードを使用して、データベースに接続しました(プロジェクトにインポートせずに)。つまり、「新しいデータソースの追加」>「データベース」>...接続性文字列が自動的に生成されます。

ネット上の多くの記事は、次のような接続文字列を使用してデータベースに接続する方法について説明しています。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")か?

4

1 に答える 1

0

ウィザードを使用してデータソースを追加すると、接続文字列が自動的に作成されます。ただし、データベースを適切に使用できるようにするために実行する手順はまだいくつかあります。

  1. TableAdaptersを作成します。これを行うには、データソースペインからフォームにテーブルをドラッグします。
  2. 使用できるテーブルにデータをロードします。たとえば、Enterpriseテーブルを含むStarTrekという名前のデータベースがあるとします。次の行は、データをEnterpriseテーブルにロードします。

    Me.EnterpriseTableAdapter.Fill(Me.StarTrekDataSet.Enterprise)
    
  3. スカラークエリを作成します。それはあなたのテーブルに単一の値を見つけます。データデザイナで、Enterpriseテーブルにクエリを追加します(TableAdapterゾーンを右クリックします)。目的の結果がMisterSpockの年齢(列 "Age")(列 "Name")の場合、クエリは次のようになります。

    ' Access Database
    SELECT Age FROM Enterprise WHERE (Name = ?)
    
    ' for an SQL Database
    SELECT Age FROM Enterprise WHERE Name = [@Name]
    
  4. これで検索を実行できます。クエリにScalarQueryAgeという名前を付けたとします。以下は、ミスタースポックの年齢をラベルに表示しています。

    Dim AgeAdapter As New StarTrekDataSetTableAdapters.EnterpriseTableAdapter
    Dim Age As Integer = CType(AgeAdapter.ScalarQueryAge("Mister Spock"), Integer)
    LabelAgeMisterSpock.Text = "He is actually " & Age & "!!"
    
于 2012-08-16T14:54:57.893 に答える