----------------------------------------------------------------------- Imports System.Data.SqlClient       : (システムが自動生成したコードは省略)       : ' ------------------------------------------------ ' 商品IDをキーにテーブルを検索し、品名と単価を表示 ' ------------------------------------------------ Private Sub btnSearch_Click _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles btnSearch.Click Dim strSql As String ' 接続文字列を設定 strSql = "SELECT 商品ID, 品名, 販売単価 FROM 商品_mr WHERE 商品ID = " ' テキストボックスの未入力チェック If txtItemId.Text = "" Then MessageBox.Show("商品IDを入力してください。", _ "入力エラー", MessageBoxButtons.OK) Else ' パラメータを付け足して検索を実行 strSql = strSql & txtItemId.Text Search(strSql) End If End Sub ' ------------------------------------------------ ' 実際の検索処理(引数はSQL文字列と検索パラメータ) ' ------------------------------------------------ Private Sub Search(ByVal strSql As String) Dim objConnect As New SqlConnection Dim objCommand As New SqlCommand Dim objDataReader As SqlDataReader Try ' 接続文字列の設定 objConnect.ConnectionString = _ "Persist Security Info=False;Integrated Security=SSPI;database=db1001ya;server=localhost" ' コネクションの設定 objCommand.Connection = objConnect ' 接続を開く objConnect.Open() ' SQLの設定 objCommand.CommandText = strSql ' 検索処理(結果をデータリーダに受け取る) ' 取得するレコードは常に1件なので、パラメータにCommandBehavior.SingleRowを指定 objDataReader = objCommand.ExecuteReader(CommandBehavior.SingleRow) If objDataReader.Read() Then ' 検索成功 lblItemName.Text = objDataReader("品名") lblUnitPrice.Text = objDataReader("販売単価") Else ' 検索失敗 MessageBox.Show( _ "該当する商品が見つかりません。", "検索エラー", MessageBoxButtons.OK) End If Catch objExcept As Exception ' 例外処理 MessageBox.Show(objExcept.ToString, "DBエラー", MessageBoxButtons.OK) Finally ' データリーダを閉じる If Not objDataReader Is Nothing Then objDataReader.Close() End If ' 接続を閉じる If Not objConnect Is Nothing Then objConnect.Close() End If End Try End Sub -----------------------------------------------------------------------