C#循环通过DataGridView - MySqlDataReader在2行之后停止?

时间:2014-11-06 19:59:12

标签: c# datagridview mysqldatareader

我在使用C#ATM时遇到了困难......

关于这段令人讨厌的代码:

foreach (DataGridViewRow r in dgv_selectedOrders.Rows)
            {
                MessageBox.Show(r.Cells[0].Value.ToString());
                order_id = r.Cells[0].Value.ToString();
                query = "SELECT count(orders.id) AS total_orders FROM orders WHERE customer_id = (SELECT customer_id FROM orders WHERE id = " + order_id + ");";
                command = new MySqlCommand(query, conn);
                MySqlDataReader sda = command.ExecuteReader();
                while (sda.Read())
                    dgv_selectedOrders[11,r.Index].Value = sda.GetInt32(0).ToString();*/

            }

这个循环只经过两次然后停止......

有趣的是,当我取消注释所有execpt“MessageBox”时,它很好地遍历每一行,并显示我的DataGridView的每个“order_id”。

它应该做的是:

循环遍历现有DataGridView并从每一行获取“Order_id”。 然后我想计算客户已经完成了多少订单,并将结果附加到DataGridView的库11中...

有什么想法吗?

正如我所说,它在第二排后停止......

1 个答案:

答案 0 :(得分:0)

好的伙计们,

所以解决方案很简单。

首先关闭MySqlDataReader -.-... lol

sda.Close();
在while循环之后

干杯,