首先不要将其标记为重复,因为这个
ExecuteNonQuery not working in C#
不是我正在寻找的解决方案,语法是正确的,连接也正确,因为SqlDataReader
正在工作,我打开连接并在SqlCommand
中调用它。这是我的代码
if (sql_con.State == ConnectionState.Closed)
{
sql_con.Open();
}
StringBuilder query = new StringBuilder();
query.Append(String.Format("update tbl_userdata set stage=@stage where username=@name"));
SqlCommand sql_command2 = new SqlCommand(query.ToString(), sql_con);
sql_command2.Parameters.AddWithValue("@stage", stage);
sql_command2.Parameters.AddWithValue("@name", lblName.Text.ToLower());
sql_command2.ExecuteNonQuery();
调试后我的查询为update tbl_userdata set stage=@stage where username=@name
我不知道这里有什么问题,我删除where clause
以查看问题的原因是否存在,但仍然是错误。我不知道这里有什么问题
这是我的连接
SqlConnection sql_con = new SqlConnection(Properties.Settings.Default.dbCon);
抱歉,我忘了把我的错误,错误是阶段没有更新, 这是我的表
tbl_userdata
+--------+-------+-------+
|Username|stage | coins |
+--------+-------+-------+
Username = nvarchar(5), stage = smallint, coins = smallmoney
答案 0 :(得分:1)
你不需要做字符串构建器并在查询中追加只是使用字符串如果where where子句的值很好,我的答案可能是愚蠢的,但如果你找不到任何解决方案,值得尝试。