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 データ ソースにプログラムでアクセスするために使用されるクラスのコレクションを記述します。
この記事では、プログラムと Visual Studio .NET サーバー エクスプローラーの両方を使用して接続を設定します。 この記事のコード サンプルでは、 SqlConnection
、 SqlCommand
、および 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 アプリケーションを作成する
Visual Studio .NET を起動し、 SQLDataAccess という名前の新しい Visual Basic Windows アプリケーション プロジェクトを作成します。
Form1 を開きます。 Form1.vbの最初の行で、次のように ADO.NET 名前空間への参照を追加します。
Imports System.Data.SqlClient
Windows Start メニューで、Programs をポイントし、Microsoft SQL Server をポイントし、
SQL Server Service Manager をクリックして、SQL Server サービスがコンピューター上で実行されていることを確認します。Server プロパティをコンピューターの名前に設定し、Services プロパティを MSSQLServer に設定します。
サービスが実行されていない場合は、 Start をクリックします。
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 接続を開く
SqlConnection
オブジェクトの接続文字列を設定するには、Form1_Load
イベント プロシージャに次のコードを追加します。'Create a Connection object. myConn = New SqlConnection("Initial Catalog=Northwind;" & _ "Data Source=localhost;Integrated Security=SSPI;")
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 からデータを取得する
Form1_Load
イベント プロシージャに次のコードを追加します。myReader = myCmd.ExecuteReader()
myCmd.ExecuteReader
メソッドが実行されると、SqlCommand
Employees
テーブルから 2 つのフィールドを取得し、SqlDataReader
オブジェクトを作成します。クエリ結果を表示するには、
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 クエリの結果がメッセージ ボックスに表示されます。SqlDataReader
オブジェクトとSqlConnection
オブジェクトを閉じるには、Form1_Load
イベント プロシージャに次のコードを追加します。'Close the reader and the database connection. myReader.Close() myConn.Close()
プロジェクトを保存して実行します。
サーバー エクスプローラーでデータベースを表示する
- View メニューの [サーバー エクスプローラー] をクリックします。
- [データ接続を右クリックし、[接続の追加] をクリック。
- [ Data リンクのプロパティ ] ダイアログ ボックスで、[ 選択] の [localhost] をクリックするか、サーバー名 ボックスを入力します。
- Windows NT 統合セキュリティをクリックして、サーバーにログオンします。
- [ サーバー上のデータベースの選択をクリックし、一覧から Northwind データベースを選択します。
- [接続のテスト ] をクリックして 接続を検証し、[ OK] をクリック。
- サーバー エクスプローラーで、 Data 接続 ツリーをクリックして展開し、
Employees
テーブル ノードが展開されるようにします。 個々のフィールドのプロパティは、 Properties ウィンドウに表示されます。
サーバー エクスプローラーを使用して SQL Server 接続を開く
デザイン ビューで Form1 を表示します。
サーバー エクスプローラーのテーブルから FirstNamelastName データベース フィールド
Employees
ドラッグし、これらのフィールドを Form1 にドロップします。 フォームにSqlConnection
オブジェクトとSqlDataAdapter
オブジェクトが作成されます。View メニューの Toolbox をクリックします。
Data タブで、
DataSet
オブジェクト (DataSet1) をドラッグし、フォームにドロップします。[データセットの追加] ダイアログ ボックスで、[Untyped datasetをクリックし、OK をクリックします。
Form1_Load
イベント プロシージャでDataReader
オブジェクトとConnection
オブジェクトを閉じる前に、コード行を挿入します。 プロシージャの末尾は次のように表示されます。SqlDataAdapter1.Fill(DataSet1, "Employees") myReader.Close() myConn.Close()
ツールボックスの Window フォーム タブで、DataGrid コントロールをドラッグし、Form1 にドロップします。
DataGrid を先ほど作成した
DataSet
オブジェクトにバインドするには、myReader.close()
コード行の前に次のコードをForm1_Load
イベント プロシージャに追加します。DataGrid1.SetDataBinding(DataSet1, "Employees")
プロジェクトを保存して実行します。
関連情報
ADO.NET の使用方法の詳細については、Visual Studio .NET ヘルプ ドキュメントの「Visual Basic」トピックの「Data」セクションを参照してください。