【发布时间】:2013-05-27 10:02:51
【问题描述】:
我收到以下错误:
您指定的列序号无效
我已经检查了我的数据库中的列号,我知道它是正确的。这是我的代码:
using (MySqlCommand cmd = new MySqlCommand(query, con))
{
cmd.Parameters.AddWithValue("@ID", txtboxID.Text);
MySqlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
int size = dr.GetInt32(3);
int quantity = dr.GetInt32(4);
string variant = dr.GetString(2);
DataGridViewRow row = dataGridView2.Rows
.Cast<DataGridViewRow>()
.Where(r => (r.Cells["variant_name"].Value.ToString().Equals(variant) && r.Cells["size"].Value.Equals(size)))
.First();
row.Cells["quantity"].Value = quantity;
}
}
我在这一行遇到错误 -> int size = dr.GetInt32(3);
【问题讨论】:
-
你从哪一行得到这个?
-
你能展示
dr被实例化的代码吗?基于错误听起来可能没有任何行,或者您没有在其上调用dr.Read。 -
@蒂姆。我已经更新了我已经包含了
dr被实例化的代码。 -
@Tim 这是查询
string query = "SELECT variant_name, size, quantity FROM tblOrder_Products WHERE order_ID=@ID"; -
您的序数已关闭 - 变量应为 0,大小应为 1,数量应为 2。序数基于 0。
标签: c# database datagridview datagridviewrow