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();*/
}
このループは 2 回だけ実行され、その後停止します...
興味深いのは、「MessageBox」を除くすべてのコメントを外すと、各行がうまくループし、DataGridView のすべての「order_id」が表示されることです。
それがすべきことは次のとおりです。
既存の DataGridView をループし、各行から「Order_id」を取得します。次に、顧客がすでに行った注文の数を数え、その結果を DataGridView の列 11 に追加します...
何か案は?
おっしゃる通り、2列目以降は止まりますが……