SQL文に変数を記述して実行方法です。
- SQL文には@から始まる変数を記述します。
- SqlParameterに変数と値を設定します。
- SqlParameterをSqlCommand.Parametersに追加します。(SqlParameterを省略して SqlCommand.Parametersに直接SqlCommand.Parametersに変数と値を設定することもできます)
使用例:SQL文に変数を利用してデータの変更を行います。
テーブル定義
| | | | | | | |
| インスタンス名 | SQLEXPRESS | データベース名 | SAMPLE_DB |
| 論理テーブル名 | 商品マスタ | 物理テーブル名 | M_ITEM |
| 列定義 |
| No | 論理名 | 物理名 | データ型 | Nullを許容 | 主キー |
| 1 | 商品CD | ITEM_CD | nvarchar(4) | No | Yes |
| 2 | 商品名 | ITEM_NM | nvarchar(32) | No | |
| 3 | 単価 | PRICE | numeric(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 件のコメント:
コメントを投稿