在数据网格视图上获取null

时间:2016-05-12 07:39:08

标签: c# asp.net datagridview

我遵循了本指南并为自己修改了一些代码 用于检索datagridview的selectedrow。

这是guide。它与我的问题没有关系,因为它没有使用任何SQL查询。

我使用s 选择查询需要datagridview中的值,所以当我触发按钮事件时,它会在我的标签上显示值。

这里是datagridview

enter image description here

以下是代码:

 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但未在用户代码中处理

附加信息:未将对象引用设置为对象的实例。*

1 个答案:

答案 0 :(得分:1)

尝试在while循环上方添加rdr = cmd.ExecuteReader();