enter image description here 我需要在aster_user页面中查看此数据到c#
enter image description here 当我点击编辑链接时,我得到更新表格来编辑数据库中的datagridview行。
我在C#中遇到MySQL问题。我想在我的MySQL数据库中更新数据。
String MyCon =SERVER=********** +
DATABASE=asterisk +
UID=root +
PASSWORD=**** + Convert Zero Datetime = True";
private void btnsubmit_Click(object sender, EventArgs e)
{
MySqlConnection con = new MySqlConnection(MyCon);
con.Open();
string query = "UPDATE userid,password,role,first_name,last_name,user_group,user_level,active FROM aster_users" +
"SET password=@password,role=@role,first_name=@first_name,last_name=@last_name,user_level=@user_level,user_group=@user_group,active=@active" +
"WHERE userid=userid";
MySqlCommand cmd = new MySqlCommand(query, con);
cmd.Parameters.AddWithValue("@pasword", txtconformpassword.Text);
cmd.Parameters.AddWithValue("@role", cmbrole.Text);
cmd.Parameters.AddWithValue("@first_name", txtfirstname.Text);
cmd.Parameters.AddWithValue("@last_name", txtlastname.Text);
cmd.Parameters.AddWithValue("@user_group", cmbUser1.Text);
cmd.Parameters.AddWithValue("@user_level", cmbuser.Text);
cmd.Parameters.AddWithValue("@active", cmbstatus.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("updated......");
con.Close();
}
帮助我..我在cmd.ExecuteNonQuery()中执行命令时遇到了致命错误;
答案 0 :(得分:0)
对于我未经训练的眼睛,sql语句的构造看起来很可疑
string query = "UPDATE userid,password,role,first_name,last_name,user_group,user_level,active FROM aster_users" +
"SET password=@password,role=@role,first_name=@first_name,last_name=@last_name,user_level=@user_level,user_group=@user_group,active=@active" +
"WHERE userid=userid";
因为它是一个mySQL数据库,所以应该能够在字段名称周围使用反引号,在行的结尾/开头有不一致的空格,where clause
似乎需要一个变量@userid
但是声明了作为一个字符串?
string query = "UPDATE `aster_users` " +
"SET `password`=@password, `role`=@role, `first_name`=@first_name, `last_name`=@last_name, `user_level`=@user_level, `user_group`=@user_group, `active`=@active " +
"WHERE `userid`=@userid";