----------------------------------------------------------------------- Imports System.Data.OleDb       : (システムが自動生成したコードは省略)       : ' ------------------------------------------------ ' 商品IDをキーにテーブルを検索し、品名と単価を表示 ' ------------------------------------------------ Private Sub btnSearch_Click _ (ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles btnSearch.Click Dim strSqlCommand As String ' 接続文字列を設定 strSqlCommand = "SELECT 商品ID, 品名, 販売単価 FROM 商品_mr WHERE 商品ID = ?" ' テキストボックスの未入力チェック If txtItemId.Text = "" Then MessageBox.Show("商品IDを入力してください。", _ "入力エラー", MessageBoxButtons.OK) Else ' 検索を実行 Search(strSqlCommand, txtItemId.Text) End If End Sub ' ------------------------------------------------ ' 実際の検索処理(引数はSQL文字列と検索パラメータ) ' ------------------------------------------------ Private Sub Search(ByVal strSql As String, ByVal strKeyword As String) Dim objConnect As New OleDbConnection Dim objCommand As New OleDbCommand Dim objDataReader As OleDbDataReader Try ' 接続文字列の設定 objConnect.ConnectionString = _ "Provider=SQLOLEDB;Data Source=localhost;initial catalog=db1001ya;Integrated Security=SSPI;" ' コネクションの設定 objCommand.Connection = objConnect ' 接続を開く objConnect.Open() ' SQLの設定 objCommand.CommandText = strSql 'SQLパラメータ(WHERE句の条件)を設定 ' パラメータを追加 objCommand.Parameters.Add(New OleDbParameter("@ItemId", OleDbType.Char, 6)) ' パラメータに値を設定 objCommand.Parameters("@ItemId").Value = strKeyword ' 検索処理(結果をデータリーダに受け取る) ' 取得するレコードは常に1件なので、パラメータにCommandBehavior.SingleRowを指定 objDataReader = objCommand.ExecuteReader(CommandBehavior.SingleRow) If objDataReader.Read() = True 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 -----------------------------------------------------------------------