2015-11-17 3 views
2

enter image description here мне нужно просмотреть эти данные в aster_user странице с #«фатальная ошибка во время выполнения команды в MySql»

enter image description here , когда я нажимаю ссылку изменить я получить форму обновления для редактирования DataGridView строки в базе данных.

У меня проблема во время MySQL в C#. Я хочу обновлять данные в моей базе данных 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 [email protected],[email protected],[email protected]_name,[email protected]_name,[email protected]_level,[email protected]_group,[email protected]" + 
         "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

Возможно, нужно использовать пробел между UPDATE и userid? – Paladin

+1

благодарю вас за ответ .. Я оставляю пространство между UPDATE и userid, но оно не работает. – Arthi

+0

Вы пытались использовать контрольную точку и отлаживать код непосредственно перед «Выполнить»? Как выглядит сборка SQL? – Paladin

ответ

0

На мой неопытный взгляд, построение SQL заявление выглядит сомнительным

string query = "UPDATE userid,password,role,first_name,last_name,user_group,user_level,active FROM aster_users" + 
    "SET [email protected],[email protected],[email protected]_name,[email protected]_name,[email protected]_level,[email protected]_group,[email protected]" + 
    "WHERE userid=userid"; 

Как это база данных MySql один должен быть в состоянии использовать кавычку вокруг имен полей, там были несогласованные пробелы в конце/начала строк и where clause, похоже, нужна переменная @userid, но объявлена ​​как строка?

string query = "UPDATE `aster_users` " + 
    "SET `password`[email protected], `role`[email protected], `first_name`[email protected]_name, `last_name`[email protected]_name, `user_level`[email protected]_level, `user_group`[email protected]_group, `active`[email protected] " + 
    "WHERE `userid`[email protected]"; 
+1

спасибо, что это работает .... – Arthi

Смежные вопросы