2011-01-05 13 views
0
cmd.Connection = con; 
con.Open(); 
cmd.CommandText = "Update tiit.Enquiry Set Status='" + DropDownList4.SelectedValue + "', NextFollowup='" + TextBox8.Text + "', Remarks='" + TextBox9.Text + "', Name='" + TextBox1.Text + "', Email='" + TextBox2.Text + "', Phone='" + TextBox3.Text + "','','','','', City='" + TextBox4.Text + "', Country='" + TextBox5.Text + "', Course='" + TextBox6.Text + "', Comments='" + TextBox7.Text + "', Cost='" +TextBox14.Text+ "' where SN='" + HiddenField1.Value + "'"; 
int i = cmd.ExecuteNonQuery(); 
con.Close(); 
+0

詳細を投稿してください –

答えて

3

いいえ、しないでください。 SQLクエリを作成するときに文字列連結(+演算子)を使用します。使用して、クエリパラメータ化:

cmd.Connection = con; 
con.Open(); 
cmd.CommandText = "UPDATE tiit.Enquiry Set [email protected], [email protected], ..."; 
cmd.Parameters.AddWithValue("@Status", DropDownList4.SelectedValue); 
cmd.Parameters.AddWithValue("@NextFollowup", TextBox8.Text); 
... 

あなたのコードは、SQLインジェクションの脆弱性ではありません。この方法は、あなたが任意のエンコーディングの問題を持っていません。すべての確率で

3

この:

"Update tiit.Enquiry Set Status='" 

はあなたの問題です。 (私はtheについて話しています。)

私は完全に同意します - パラメトリッククエリを使用します。

関連する問題