2014年1月1日水曜日

【VB.NET】ADO.NET SqlCommand.SqlParameterで変数を指定する。

SQL文に変数を記述して実行方法です。

  1. SQL文には@から始まる変数を記述します。
  2. SqlParameterに変数と値を設定します。
  3. SqlParameterをSqlCommand.Parametersに追加します。(SqlParameterを省略して SqlCommand.Parametersに直接SqlCommand.Parametersに変数と値を設定することもできます)
使用例:SQL文に変数を利用してデータの変更を行います。

テーブル定義
インスタンス名SQLEXPRESSデータベース名SAMPLE_DB
論理テーブル名商品マスタ物理テーブル名M_ITEM
列定義
No論理名物理名データ型Nullを許容主キー
1商品CDITEM_CDnvarchar(4)NoYes
2商品名ITEM_NMnvarchar(32)No
3単価PRICEnumeric(8,0)No

商品マスタのテーブルデータ


Imports System.Data.SqlClient
 
Module Module1
 
    Sub Main()
        Dim con As New SqlConnection
 
        'DB接続
        con.ConnectionString = "Data Source=localhost\SQLEXPRESS;Initial Catalog=SAMPLE_DB;Integrated Security=True"
        con.Open()
 
        'SQLステートメント
        Dim strSql As String = "UPDATE M_ITEM SET PRICE = @PRICE WHERE ITEM_CD = @ITEM_CD"
 
        'SqlCommand
        Dim sqlCom As New SqlCommand(strSql, con)
 
        'パラメーターの追加
        Dim sqlparam1 As New SqlParameter("@PRICE", 500)
        sqlCom.Parameters.Add(sqlparam1)
 
        'パラメーターの追加(SqlParameterインスタンスを省略)
        sqlCom.Parameters.Add("@ITEM_CD", SqlDbType.Char).Value = "002"
 
        'SqlCommandの実行
        sqlCom.ExecuteNonQuery()
 
        'SqlCommandの解放
        sqlCom.Dispose()
 
        '接続を閉じる
        con.Close()
 
        'SqlConnectionの解放
        con.Dispose()
 
        Console.WriteLine("データを更新しました。")
    End Sub
 
End Module
実行結果

0 件のコメント:

コメントを投稿