我遵循了本指南并为自己修改了一些代码 用于检索datagridview的selectedrow。
这是guide。它与我的问题没有关系,因为它没有使用任何SQL查询。
我使用s 选择查询需要datagridview中的值,所以当我触发按钮事件时,它会在我的标签上显示值。
这里是datagridview
以下是代码:
private void LoadDataGrid()
{
con.Open();
cmd = new SqlCommand(@"SELECT quotationID,quo_product
FROM JobQuotations
WHERE quo_custname = @custname", con);
cmd.Parameters.AddWithValue("@custname",lblLoginName.Text);
da = new SqlDataAdapter(cmd);
dt = new DataTable();
da.Fill(dt);
GridView1.DataSource = dt;
GridView1.DataBind();
con.Close();
}
这是我选择行的类:
private void LoadOrders()
{
con.Open();
cmd = new SqlCommand(@"Select quo_product,quo_address
FROM JobQuotations
WHERE quotationId = @id
AND quo_product = @product",con);
cmd.Parameters.AddWithValue("@id", GridView1.SelectedRow.Cells[1].Text);
cmd.Parameters.AddWithValue("@product", GridView1.SelectedRow.Cells[2].Text);
if(rdr.HasRows)
{
while(rdr.Read())
{
lblProductName.Text = rdr["quo_product"].ToString();
lblAddress.Text = rdr["quo_Address"].ToString();
}
}
con.Close();
}
这行代码给出了错误:
`if(rdr.HasRows)`
*类型' System.NullReferenceException'的例外情况发生在MejShop.dll但未在用户代码中处理
附加信息:未将对象引用设置为对象的实例。*
答案 0 :(得分:1)
尝试在while循环上方添加rdr = cmd.ExecuteReader();
。