2016-12-29 15 views
-2

Я хочу спросить об этом ..
Мой запрос не является успешным, но я не вижу ничего плохого здесь
вот мой код:
Почему я не могу вставить свои данные? C# WinForm

 private void save_btn_Click(object sender, EventArgs e) 
     { 
      MySqlConnection con = new MySqlConnection("server=127.0.0.1;database=project;Uid=root;Pwd=admin"); 
      MySqlCommand job; 
      string id_pembayaran = count_id("payment"); 
      string order_id = String.Concat("ORD", id_pembayaran); 

      for (int i = 0; i < List_Pembelian.Rows.Count; i++){ 
      job = new MySqlCommand("INSERT INTO payment VALUES(@id,@ordid,@userid,@nama,@jlh,@total)", con); 
      job.Parameters.AddWithValue("@id",count_id("payment")); 
      job.Parameters.AddWithValue("@ordid", order_id); 
      job.Parameters.AddWithValue("@userid", User_Validation_Field.Text); 
      job.Parameters.AddWithValue("@nama", List_Pembelian.Rows[i].Cells[0].Value.ToString()); 
      job.Parameters.AddWithValue("@jlh", List_Pembelian.Rows[i].Cells[1].Value.ToString()); 
      job.Parameters.AddWithValue("@total",List_Pembelian.Rows[i].Cells[3].Value.ToString()); 
      con.Open(); 
      try 
      { 
       job.ExecuteNonQuery(); 
       int a = job.ExecuteNonQuery(); 
       MessageBox.Show(a.ToString()); 
       MessageBox.Show("SUKSES"); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show(ex.Message); 

      } 
      finally 
      { 
       con.Close(); 
      } 
      } 
     } 

ли я какую-либо ошибку в моем коде? Если да, скажите мне, пожалуйста, xx

+0

ExecuteNonQuery возвращает int, представляющее число затронутых строк. Используйте переменную, чтобы получить этот результат, и сообщите нам, что это такое. Часто в этих случаях вы просто смотрите на другую базу данных, чем ваша программа. – Crowcoder

+0

У меня есть -1, когда я пытаюсь поместить его в переменную x.x, я не понял, что это такое – Wilx

+0

Тогда это не увенчалось успехом. Я думаю, что MySQL требует, чтобы параметры добавлены в команду в том же порядке, что и в запросе, поэтому измените это и повторите попытку. – Crowcoder

ответ

1

Проблема заключается в том, что вы хотите вставить в цикл for, по-видимому, из коллекции (думаю, я думаю), но вы никогда не используете элементы в этой коллекции, так как ваши индексы не меняются в петля. Замените их индексом i, и вы можете прокручивать свою коллекцию.

Обновление: Вы должны исправить порядок параметров, которые вы передаете запросу. Заказ параметров не соответствует порядку столбца, который вы указали в комментариях. Также исправьте типы данных.

+0

ups, sry я забыл изменить этот индекс ...: D, но моя проблема по-прежнему совпадает с моим запросом, но мои данные не обновляются – Wilx

+0

Как выглядит ваш стол? – Mahdi

+0

моя таблица выглядит так: ID int (10), userID varchar (10), orderID varchar (10), itemName varchar (10), itemCount int (10), totalPrice int (30) – Wilx

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