[英]insert query syntax problem
我有一個SQL查詢如下
String S = Editor1.Content.ToString();
Response.Write(S);
string sql = "insert into testcase.ishan(nmae,orders) VALUES ('9',@S)";
OdbcCommand cmd = new OdbcCommand(sql, myConn);
cmd.Parameters.AddWithValue("@S", S);
cmd.ExecuteNonQuery();
錯誤: Column 'orders' cannot be null at System.Data.Odbc.OdbcConnection.HandleError
最好使用類似:
var sqlCommandText = "insert into testcase.ishan(nmae,orders) VALUES ('9', @S)";
using (var connection = new SqlConnection())
{
using (var command = new SqlCommand(sqlCommandText , connection))
{
command.Parameters.AddWithValue("@S", S);
command.ExecuteNonQuery();
}
}
使用參數可以防止SQL注入 。 我相信,安德魯斯解決方案不會。
如果需要,ExecuteNonQuery()將返回受影響的行數。
using語句將負責正確處理連接,因此之后,您將不再有打開的連接。 這是因為SqlConnection實現IDisposable。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.