{“你调用的对象是空的。”}

时间:2015-05-09 13:52:52

标签: c# winforms datagridview

我正在使用下面的代码来从数据库中选择数据并绑定datagridview,但是我遇到了这个错误,而其他用户之前提出的所有问题都没有帮助我。

代码:

        public void popRuta()
    {
        string cs = "Data Source=CODRINMA\\CODRINMA;Initial Catalog=TrafficManager;Integrated Security=True";
        string select = "SELECT ats.NrOrdine, o.Oras as Oras, a.Denumire as Autogara FROM AutogariTrasee ats INNER JOIN Autogari a on a.IDAutogara=ats.IDAutogara INNER JOIN Orase o on o.IDOras=a.IDOras where IDTraseu=@IDTraseu ORDER BY ats.NrOrdine";

       try
        {
            using (SqlConnection con = new SqlConnection(cs))
            {
                con.Open();
                SqlCommand cmd = new SqlCommand(select, con);
                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("IDTraseu", int.Parse(grdTrasee.CurrentRow.Cells[0].FormattedValue.ToString()));
                SqlDataReader sda = cmd.ExecuteReader();
                DataTable dt = new DataTable();
                dt.Load(sda);
                grdRuta.DataSource = dt;
                grdRuta.Refresh();
                con.Close();
            }   
        }
      catch (Exception er) { MessageBox.Show(er.Message); }

    }

错误:

  

{“对象引用未设置为对象的实例。”}

无法弄清楚我错过了什么...当c#界面停止我的应用时突出显示该行:cmd.Parameters.AddWithValue("IDTraseu", int.Parse(grdTrasee.CurrentRow.Cells[0].FormattedValue.ToString()));

1 个答案:

答案 0 :(得分:3)

由于错误出现在以下代码行中:

cmd.Parameters.AddWithValue("IDTraseu", 
int.Parse(grdTrasee.CurrentRow.Cells[0].FormattedValue.ToString()));

可能性如下:

grdTrasee为空或CurrentRow为空。