2007年11月16日金曜日

ADO.NET2.0のパラメータクエリ

一応%もパラメータクエリに渡せるみたいだ。
こんな感じ
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string strConn, strSQL;
strConn = @"Data Source=.\SQLExpress;" +
"Initial Catalog=Northwind;Trusted_Connection=YES;";
strSQL = "select * from customers where companyname like @a";

SqlConnection cn = new SqlConnection(strConn);

cn.Open();
using (SqlTransaction txn = cn.BeginTransaction())
{
SqlCommand cmd = new SqlCommand(strSQL, cn, txn);
cmd.Parameters.AddWithValue("@a", "FA%");
SqlDataReader rdr = cmd.ExecuteReader();
while (rdr.Read())
Console.WriteLine("{0}", rdr.GetString(0));
rdr.Close();
txn.Rollback();

}
cn.Close();

int b;

}
}
}

1 件のコメント:

匿名 さんのコメント...

前方一致検索のサンプルですね!SQLインジェクション対策バッチリですね。