我在使用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中...
有什么想法吗?
正如我所说,它在第二排后停止......
答案 0 :(得分:0)
好的伙计们,
所以解决方案很简单。
首先关闭MySqlDataReader -.-... lol
sda.Close();
在while循环之后。
干杯,