我正在使用下面的代码来从数据库中选择数据并绑定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()));
答案 0 :(得分:3)
由于错误出现在以下代码行中:
cmd.Parameters.AddWithValue("IDTraseu",
int.Parse(grdTrasee.CurrentRow.Cells[0].FormattedValue.ToString()));
可能性如下:
grdTrasee
为空或CurrentRow
为空。