我正在使用c#和MYSQL在asp.net中进行Web服务。
我想根据两个条件更新一个表。但是它们之间没有任何共同的领域。
可能吗 ?
**EDITED** -
我已经将代码用作-
using (MySqlConnection con1 = new MySqlConnection(conString))
{
string update = "UPDATE tbl_UserInfo U SET Chips= @param1 where UserName = @param2 AND QuestionID = @param3";
using (MySqlCommand cmd1 = new MySqlCommand(update, con1))
{
cmd1.Parameters.AddWithValue("@param1", getChips(answerby));
cmd1.Parameters.AddWithValue("@param2", answerby);
cmd1.Parameters.AddWithValue("@param3", queid);
con1.Open();
success = cmd1.ExecuteNonQuery();
con1.Close();
if (success > 0)
{
return success;
}
else
return 0;
}
}
但是它给出了一个错误
Unknown column QuestionID in where clause
可能是什么问题?
等待解决方案...
最佳答案
您必须使用SqlCommand类并提供参数,然后将输入传递给其中之一:
using(SqlConnection conn = new SqlConnection("connString"))
{
string incrementChips = "UPDATE tbl_UserInfo U SET Chips= @param1 where UserName = @param2 AND QuestionID = @param3";
// no need to use U.Chips or U.UserName, since you do not update in 2 or more table (where can be same fields)
using(SqlCommand cmd = new SqlCommand(incrementChips, conn))
{
//input parameter:
cmd.Parameters.Add("@param1", SqlDbType.VarChar, 50).Value = "your input string";
//and condition parameters:
cmd.Parameters.Add("@param2", SqlDbType.VarChar, 50).Value = "answerby";
cmd.Parameters.Add("@param3", SqlDbType.VarChar, 50).Value = "queid";
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
//show exception to user (if it happens)
}
}
}