あなたはこれを行うことができます
query = "Select * From Table Where Title = " + someone;
プレ>しかし、それは悪いことであり、SQL インジェクションにつながる
パラメータ化されたクエリを使用する必要があります
このようなものから始める必要があります
using (var cn = new SqlClient.SqlConnection(yourConnectionString)) using (var cmd = new SqlClient.SqlCommand()) { cn.Open(); cmd.Connection = cn; cmd.CommandType = CommandType.Text; cmd.CommandText = "Select * From Table Where Title = @Title"; cmd.Parameters.Add("@Title", someone); }
プレ>彼は私のものよりも完全だったので、Jon Skeetの答えから
SqlCommand.Parametersのドキュメントを参照してください。> 詳細については、
基本的に、さまざまな理由から、SQL 自体に値を埋め込むべきではありません:
- コードとデータを混在させるのはエレガントではありません
- 回避に十分注意しないと、SQL インジェクション攻撃にさらされることになります
- 数値、日付、時刻などのフォーマットや国際化の詳細について心配する必要があります
- 値が変更されただけでクエリが同じままである場合、オプティマイザーが行う作業は少なくなります。SQL に関して完全に一致するため、以前に最適化されたクエリを直接検索できます。