SQL Serverでは、SQL文内でパラメータの所には@+パラメータ名で、@nameという感じで指定します。
.Netでは、SQL Server用のパラメータ変数の型は、SqlParameter型です。
基本はその型の変数に、ParameterNameプロパティとValueプロパティを指定して、SQLコマンドに登録することで利用可能です。
C#
//SQL Serverなのでこれを設定します。
using System.Data.SqlClient;
namespace ADONET_SQLServerWithParameters
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
//SQL Serverへの接続情報の設定をします。
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
//ここではWindows認証を使うに設定します。
builder.IntegratedSecurity = true;
builder.InitialCatalog = "AdventureWorks2008";
//インスタンス名を設定します。
builder.DataSource = ".\\SQLExpress";
//接続情報を使ってコネクションを生成します。
using (SqlConnection conn = new SqlConnection(builder.ConnectionString))
{
//SQL文とコネクションを設定します。
using (SqlCommand cmd = new SqlCommand("SELECT * FROM Person.Address WHERE city LIKE @city", conn))
{
//パラメータの作成
SqlParameter prmtr = new SqlParameter();
//パラメータ名は@を除いた名前を指定します。
prmtr.ParameterName = "city";
//パラメータの値を設定します。
prmtr.Value = "D%";
//パラメータをコマンドに追加します。
cmd.Parameters.Add(prmtr);
//SQL Serverへの橋渡しのアダプターを設定します。
SqlDataAdapter sda = new SqlDataAdapter();
//SELECTコマンドを設定します。
sda.SelectCommand = cmd;
//SELECTの実行及びフェッチ
sda.Fill(dt);
//グリッドに表示します。
dataGridView1.DataSource = dt;
}
}
}
}
}
VB.NET
'SQL Serverなのでこれを設定します。
Imports System.Data.SqlClient
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim dt As DataTable = New DataTable()
'SQL Serverへの接続情報の設定をします。
Dim builder As SqlConnectionStringBuilder = New SqlConnectionStringBuilder()
'ここではWindows認証を使うに設定します。
builder.IntegratedSecurity = True
builder.InitialCatalog = "AdventureWorks2008"
'インスタンス名を設定します。
builder.DataSource = ".\SQLExpress"
'接続情報を使ってコネクションを生成します。
Using conn As New SqlConnection(builder.ConnectionString)
'SQL文とコネクションを設定します。
Using cmd As New SqlCommand("SELECT * FROM Person.Address WHERE city LIKE @city", conn)
'パラメータの作成
Dim prmtr As SqlParameter = New SqlParameter()
'パラメータ名は@を除いた名前を指定します。
prmtr.ParameterName = "city"
'パラメータの値を設定します。
prmtr.Value = "D%"
'パラメータをコマンドに追加します。
cmd.Parameters.Add(prmtr)
'SQL Serverへの橋渡しのアダプターを設定します。
Dim sda As SqlDataAdapter = New SqlDataAdapter()
'SELECTコマンドを設定します。
sda.SelectCommand = cmd
'SELECTの実行及びフェッチ
sda.Fill(dt)
'グリッドに表示します。
DataGridView1.DataSource = dt
End Using
End Using
End Sub
End Class
| 良い | やや良い | 普通 | やや悪い | 悪い |
|---|
| 投稿日時 | 評価 | コメント |
|---|