2014-08-09 2 views
0

Я пытаюсь использовать запрос обновления в своем приложении формы Windows C#. Я не получаю никаких ошибок, похоже, что я не пытаюсь сохранить данные, которые я пытаюсь обновить. Посмотрите на код:Запрос на обновление приложения Windows Form не сохраняет данные

private void button2_Click(object sender, EventArgs e) 
{ 
    try 
    { 
     string myConnection = connection; 

     MySqlConnection myConn = new MySqlConnection(myConnection); 
     myConn.Open(); 

     MySqlDataAdapter myDataAdapter = new MySqlDataAdapter(); 
     myDataAdapter.UpdateCommand = new MySqlCommand(" update users set username=" + textBox1.Text + " where username=" + username + " ", myConn); 

     MySqlCommandBuilder cb = new MySqlCommandBuilder(myDataAdapter); 
     DataSet ds = new DataSet(); 
     myConn.Close(); 

     MessageBox.Show("Changes has been saved."); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message); 
    } 
} 
    } 

Имя пользователя, это строка, переданная из другого вида (GridView) ..

+0

На чем именно вы выполняете свой запрос? Похоже, вам здесь не нужны «MySqlDataAdapter» и «ds». Вы пробовали свою команду в своем менеджере баз данных? Это работает? И, пожалуйста, используйте [параметризованные запросы] (http://blog.codinghorror.com/give-me-parameterized-sql-or-give-me-death/). Этот тип конкатенаций строк открыт для [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection) атак. Также используйте _using statement_ для удаления соединений с базой данных. –

+0

Пробовал в моем phpmyadmin, и запрос НЕ работает! Спасибо, что посоветовали мне попробовать попробовать. Вы разрешите проблему с запросом и повторите попытку – TorrBallen

+0

Пробовал с рабочим запросом, по-прежнему не сохраняет его. marc_s, строка подключения: 'datasource = localhost; database = TESTDB; port = 3306; username = root; password = root' – TorrBallen

ответ

0

Я нашел решение для этого в Интернете. Что я держу в покое:

private void button2_Click(object sender, EventArgs e) 
    { 

     string myConnection = connection; 
     MySqlConnection myConn = new MySqlConnection(myConnection); 
     MySqlCommand cmdDataBase = new MySqlCommand("UPDATE `users` SET username='Test' WHERE username='CurrentName' ", myConn); 
     MySqlDataReader myReader; 

     try 
     { 

      myConn.Open(); 
      myReader = cmdDataBase.ExecuteReader(); 
      myConn.Close(); 
      MessageBox.Show("Changes has been saved!"); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

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