[英]Problem in updating database table in asp.net using c#
我想在我的數據庫中更新Basic表,但它不會在表中生成任何效果。
我正在使用以下聲明
sql ="UPDATE Basic SET Current_city='"+ TextBox1.Text +"',Home_Town='"+ TextBox2.Text +"';
SqlCommand cmd = new SqlCommand(sql, con);
cmd.ExecuteNonQuery();
請不要連接SQL查詢。 您可以在Wikipedia上閱讀有關Sql Injection的信息。
使用參數代替:
sql = "UPDATE [Basic] SET [Current_city]=@City, [Home_Town]=@Town";
cmd.Parameters.Add("@City", SqlDbType.VarChar, TextBox1.Text);
cmd.Parameters.Add("@Town", SqlDbType.VarChar, TextBox2.Text);
看起來,keyworld Basic是保留的,使用[Basic]。
創建prameterize查詢為blelow將輕松解決您的問題..........如果你去編寫的代碼會導致sql注入攻擊,所以最好得到參數化查詢。 它推薦
SqlCommand sqlCmd = new SqlCommand("UPDATE table SET param1 = @param1", sqlConn);
/* Parameters */
sqlCmd.Parameters.Add("@param1", SqlDbType.NVarChar);
sqlCmd.Parameters["@param1"].Value = valuedata;
try
{
sqlConn.Open();
sqlCmd.ExecuteNonQuery();
}
catch (SqlException sqlEx)
{
sqlErrorLabel.Text = sqlEx.ToString();
sqlErrorLabel.ForeColor = System.Drawing.Color.Red;
}
finally
{
sqlConn.Close();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.