商品マスターテーブル検索
商品コードを入力して、検索ボタンを押すと、販売管理データベースの商品マスターテーブルを検索して、商品コードのレコードのデータを画面に表示するサンプルプログラムを作成します。
SQL Server Express の接続文字列については、SQL Server Express 接続文字列自動生成 を参考にしてください。
サンプルプログラム
- あらかじめ System.Data.SqlClient とSystem.Configuration をインポート
- メニューの[プロジェクト]→[参照の追加]をクリックして、System.Configurationを追加
- 入力した商品コードのエラーチェックをし、エラーがあればメッセージボックスにエラー表示
- 例外をキャッチしたときも、例外をメッセージボックスに表示
- エラーがなければ、商品テーブルから該当レコードを取得
- 取得したレコードデータを、ラベルのTextプロパティに代入
Option Strict On Imports System.Data.SqlClient Imports System.Configuration ' 参照の追加で System.Configurationを追加 Public Class RetrievalIntro '------------------------------------------------------------- ' ■ 検索ボタンクリック処理 ■ '------------------------------------------------------------- Private Sub BtnRetrieval_Click(sender As Object,e As EventArgs) _ Handles BtnRetrieval.Click ' 商品コード未入力ならエラー If TxtShohinCode.Text = Nothing Then MessageBox.Show("商品コードが未入力","エラー") Exit Sub End If ' 接続文字列をApp.configファイルから取得 Dim settings As ConnectionStringSettings settings = _ ConfigurationManager.ConnectionStrings("販売管理ConString") If settings Is Nothing Then ' 接続文字列取得エラー MessageBox.Show("App.configに未登録","接続文字列エラー") Exit Sub End If ' 商品マスター表からレコード取得 Try Using con As New SqlConnection Using cmd As New SqlCommand ' 接続文字列の設定 con.ConnectionString = settings.ConnectionString ' SqlCommand.Connectionプロパティの設定 cmd.Connection = con ' SQL文設定 cmd.CommandText = "SELECT * FROM 商品マスター表 " & _ "WHERE 商品コード = @sCode" ' SQL文の引数設定 cmd.Parameters.Clear() ' パラメータの実際のサイズからデータ長を推論 cmd.Parameters.Add("@sCode",sqlDbType.NChar) cmd.Parameters("@sCode").Value = TxtShohinCode.Text ' レコード取得 Dim da As New SqlDataAdapter Dim dt As New DataTable da.SelectCommand = cmd da.Fill(dt) If dt.Rows.Count = 1 Then ' レコードがあった時 LblShohinMei.Text = CStr(dt.Rows(0)("商品名称")) LblHanbaiTanka.Text = CStr(dt.Rows(0)("販売単価")) Else ' レコードが無い時 LblShohinMei.Text = Nothing LblHanbaiTanka.Text = Nothing MessageBox.Show("データがありません","エラー") End If End Using End Using Catch ex As Exception MessageBox.Show(ex.ToString, "【例外発生】") End Try End Sub End Class