2017-05-03 21 views
-1

以下のコードを試しましたが、mysqlデータベースに追加された行レコードを1つ追加するだけでした。私は3行のレコードを入力しましたが、1行のレコードだけが追加されました。何が問題ですか?複数のレコードをdatagridviewからデータベースに追加する方法C#

for (int i = 0; i < dataGridView1.Rows.Count; i++) 
    { 

     MySqlCommand cmd = new MySqlCommand(); 
     cmd.Connection = con; 

     cmd.CommandText = "insert into salesproductnew(salesid,productname,qty,price,grosstotal)values(@salesid,@productname,@qty,@price,@grosstotal)"; 


     cmd.Parameters.AddWithValue("@salesid", lbinvoice.Text); 
     cmd.Parameters.AddWithValue("@productname", dataGridView1.Rows[i].Cells[2].Value); 
     cmd.Parameters.AddWithValue("@qty", dataGridView1.Rows[i].Cells[3].Value); 
     cmd.Parameters.AddWithValue("@price", dataGridView1.Rows[i].Cells[4].Value); 
     cmd.Parameters.AddWithValue("@grosstotal", dataGridView1.Rows[i].Cells[5].Value); 

     con.Open(); 
     cmd.ExecuteNonQuery(); 

     MessageBox.Show("Record added ............."); 
     con.Close(); 

    } 
+0

try..catchでコードをラップし、例外があるかどうかを確認してください。 –

+0

例外はありません。エラーはありません。 1つの行レコードだけがデータベースに追加されました別のレコードがこの問題を解決してください –

+0

誰かが私を助けますか? –

答えて

0

cmdのパラメータをリセットしておらず、各サイクルで新しいパラメータを追加しています。直接回答ではないかもしれませんが、これを試してください

MySqlCommand cmd = new MySqlCommand(); 
cmd.Connection = con; 
con.Open(); 
cmd.CommandText = "insert into salesproductnew(salesid,productname,qty,price,grosstotal)values(@salesid,@productname,@qty,@price,@grosstotal)"; 
for (int i = 0; i < dataGridView1.Rows.Count; i++) 
{ 
    cmd.Parameters.Clear(); 
    cmd.Parameters.AddWithValue("@salesid", lbinvoice.Text); 
    cmd.Parameters.AddWithValue("@productname", dataGridView1.Rows[i].Cells[2].Value); 
    cmd.Parameters.AddWithValue("@qty", dataGridView1.Rows[i].Cells[3].Value); 
    cmd.Parameters.AddWithValue("@price", dataGridView1.Rows[i].Cells[4].Value); 
    cmd.Parameters.AddWithValue("@grosstotal", dataGridView1.Rows[i].Cells[5].Value); 

    cmd.ExecuteNonQuery(); 

} 

    MessageBox.Show("Record added ............."); 
    con.Close(); 

Btw、パラメータをクリアする必要はありません。詳細はthis SOを参照してください。

+0

それは動作しません –

+0

@LoshiniLoganathan何かエラーメッセージを受け取りましたか? – Orifjon

+0

エラーではない私はデータベースに1行レコードを追加することができます。複数のレコードを追加できませんでした。どうかしてください。 –

関連する問題