订单表我有以下数据:SQL语句返回只有一个记录
OrderNum | Item | Quantity|
1234 | EE1 | 1 |
1234 | EE3 | 1 |
1235 | EE2 | 1 |
1236 | EE5 | 1 |
1236 | EE8 | 1 |
我想在DataGridView中那些为了与1234
订单号码这是我的代码显示..但它只显示一个记录。EE1项目。
con.Open();
com.CommandText = "SELECT * FROM Orders WHERE OrderNo="+Convert.ToInt32(txtStudNo.Text)+"";
reader = com.ExecuteReader();
int indx = dataGridView1.Rows.Add();
DataGridViewRow row = dataGridView1.Rows[indx];
if (reader.HasRows)
{
while (reader.Read())
{
com2.CommandText = "SELECT Description, Price FROM Books WHERE BookID='" + reader[2].ToString() + "'";
reader2 = com2.ExecuteReader();
if (reader2.Read())
{
row.Cells[0].Value = reader[2].ToString();
row.Cells[1].Value = reader2[0].ToString();
row.Cells[2].Value = reader[4].ToString();
row.Cells[3].Value = reader2[1].ToString();
}
}
需要一些帮助..请。
如果您对此进行调试,您可能会发现结果集返回了多行数据。问题在于你只是用数据覆盖网格中的同一行。 – PhoenixReborn 2013-03-10 15:14:42
您只添加一行。这是你不断给不同的值分配的行。 – 2013-03-10 16:02:31