次の方法で共有


Visual Basic .NET で SQL Server .NET データ プロバイダーを使用して SQL Server データベースを開く

この記事では、Visual Basic .NET で SQL Server .NET データ プロバイダーを使用して SQL Server データベースを開く方法について説明します。

元の製品バージョン: Visual Basic .NET
元の KB 番号: 308656

まとめ

この記事では、ADO.NET を使用して、SQL Server .NET データ プロバイダーを使用して SQL Server データベースを開く方法について説明します。 ADO.NET は、データ処理に必要なすべてのクラスを収集します。 System.Data.SqlClient名前空間は、SQL Server データ ソースにプログラムでアクセスするために使用されるクラスのコレクションを記述します。 名前空間を介して ADO クラスにアクセスして、OLE DB データベースをサポートできます。

この記事では、プログラムと Visual Studio .NET サーバー エクスプローラーの両方を使用して接続を設定します。 この記事のコード サンプルでは、 SqlConnectionSqlCommand、および SqlDataReader ADO.NET オブジェクトを使用します。

要件

次の一覧では、必要なハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、およびサービス パックの概要を示します。

  • Microsoft SQL Server
  • Visual Basic .NET

Note

SQL Server と Visual Basic .NET を同じコンピューターにインストールして実行する必要があります。 さらに、ユーザーは Windows 統合セキュリティを使用して SQL Server に接続できる必要があります。

この記事では、次のトピックについて理解していることを前提としています。

  • ADO.NET の概念
  • SQL Server の概念と Transact-SQL (T-SQL) 構文
  • Northwind サンプル データベース

Visual Basic .NET Windows アプリケーションを作成する

  1. Visual Studio .NET を起動し、 SQLDataAccess という名前の新しい Visual Basic Windows アプリケーション プロジェクトを作成します。

  2. Form1 を開きます。 Form1.vbの最初の行で、次のように ADO.NET 名前空間への参照を追加します。

    Imports System.Data.SqlClient
    
  3. Windows Start メニューで、Programs をポイントし、Microsoft SQL Server をポイントし、SQL Server Service Manager をクリックして、SQL Server サービスがコンピューター上で実行されていることを確認します。

  4. Server プロパティをコンピューターの名前に設定し、Services プロパティを MSSQLServer に設定します。

  5. サービスが実行されていない場合は、 Start をクリックします。

  6. SQL Server Service Manager ダイアログ ボックスを閉じます。

ADO.NET オブジェクトを作成する

Form1 クラスを次のように変更します。

Public Class Form1
    Inherits System.Windows.Forms.Form
    'Create ADO.NET objects.
    Private myConn As SqlConnection
    Private myCmd As SqlCommand
    Private myReader As SqlDataReader
    Private results As String

SqlConnection オブジェクトはデータベース接続を確立し、SqlCommand オブジェクトはデータベースに対してクエリを実行し、SqlDataReader オブジェクトはクエリの結果を取得します。

SqlConnection オブジェクトを使用して SQL Server 接続を開く

  1. SqlConnection オブジェクトの接続文字列を設定するには、Form1_Load イベント プロシージャに次のコードを追加します。

     'Create a Connection object.
     myConn = New SqlConnection("Initial Catalog=Northwind;" & _
     "Data Source=localhost;Integrated Security=SSPI;")
    
  2. SQL クエリを含む Command オブジェクトを設定するには、 Form1_Load イベント プロシージャに次のコードを追加します。

    'Create a Command object.
    myCmd = myConn.CreateCommand
    myCmd.CommandText = "SELECT FirstName, LastName FROM Employees"
    
    'Open the connection.
    myConn.Open()
    

SqlConnection では、Windows ログオンの詳細を使用して、コンピューター上の Northwind データベースに接続します。

SqlDataReader オブジェクトを使用して SQL Server からデータを取得する

  1. Form1_Load イベント プロシージャに次のコードを追加します。

    myReader = myCmd.ExecuteReader()
    
  2. myCmd.ExecuteReader メソッドが実行されると、SqlCommandEmployees テーブルから 2 つのフィールドを取得し、SqlDataReader オブジェクトを作成します。

  3. クエリ結果を表示するには、 Form1_Load イベント プロシージャに次のコードを追加します。

    'Concatenate the query result into a string.
    Do While myReader.Read()
        results = results & myReader.GetString(0) & vbTab & _
        myReader.GetString(1) & vbLf
    Loop
    'Display results.
    MsgBox(results)
    

    myReader.Read メソッドは、読み取るレコードが他に存在するかどうかを示すブール値を返します。 SQL クエリの結果がメッセージ ボックスに表示されます。

  4. SqlDataReaderオブジェクトとSqlConnection オブジェクトを閉じるには、Form1_Load イベント プロシージャに次のコードを追加します。

    'Close the reader and the database connection.
     myReader.Close()
     myConn.Close()
    
  5. プロジェクトを保存して実行します。

サーバー エクスプローラーでデータベースを表示する

  1. View メニューの [サーバー エクスプローラー] をクリックします。
  2. [データ接続を右クリックし、[接続の追加] をクリック
  3. [ Data リンクのプロパティ ] ダイアログ ボックスで、[ 選択] の [localhost] をクリックするか、サーバー名 ボックスを入力します。
  4. Windows NT 統合セキュリティをクリックして、サーバーにログオンします。
  5. [ サーバー上のデータベースの選択をクリックし、一覧から Northwind データベースを選択します。
  6. [接続のテスト ] をクリックして 接続を検証し、[ OK] をクリック
  7. サーバー エクスプローラーで、 Data 接続 ツリーをクリックして展開し、 Employees テーブル ノードが展開されるようにします。 個々のフィールドのプロパティは、 Properties ウィンドウに表示されます。

サーバー エクスプローラーを使用して SQL Server 接続を開く

  1. デザイン ビューで Form1 を表示します。

  2. サーバー エクスプローラーのテーブルから FirstNamelastName データベース フィールドEmployeesドラッグし、これらのフィールドを Form1 にドロップします。 フォームに SqlConnection オブジェクトと SqlDataAdapter オブジェクトが作成されます。

  3. View メニューの Toolbox をクリックします。

  4. Data タブで、DataSet オブジェクト (DataSet1) をドラッグし、フォームにドロップします。

  5. [データセットの追加] ダイアログ ボックスで、[Untyped datasetをクリックし、OK をクリックします。

  6. Form1_Load イベント プロシージャでDataReaderオブジェクトとConnection オブジェクトを閉じる前に、コード行を挿入します。 プロシージャの末尾は次のように表示されます。

    SqlDataAdapter1.Fill(DataSet1, "Employees")
    myReader.Close()
    myConn.Close()
    
  7. ツールボックスの Window フォーム タブで、DataGrid コントロールをドラッグし、Form1 にドロップします。

  8. DataGrid を先ほど作成したDataSet オブジェクトにバインドするには、myReader.close()コード行の前に次のコードをForm1_Load イベント プロシージャに追加します。

    DataGrid1.SetDataBinding(DataSet1, "Employees")
    
  9. プロジェクトを保存して実行します。

関連情報

ADO.NET の使用方法の詳細については、Visual Studio .NET ヘルプ ドキュメントの「Visual Basic」トピックの「Data」セクションを参照してください。