为什么在datatable为null时出现错误?

时间:2016-05-15 07:28:00

标签: c# sql-server search datatable

我使用此代码使用C#代码在SQL Server数据库中进行搜索,但是当数据表为null时,我收到错误消息。请帮我解决问题并找到解决方案。这是我的代码:

private void button4_Click_1(object sender, EventArgs e)
{
    DataTable dt = new DataTable();

    if (!string.IsNullOrEmpty(textBox1.Text))
    {
        SqlConnection sqlconn = new SqlConnection(@"Data Source=.;Initial Catalog=ghale;Integrated Security=True");
        SqlDataAdapter sqlcmd = new SqlDataAdapter("select * from ranandeh WHERE pelak=@ID", sqlconn);
        sqlcmd.SelectCommand.Parameters.AddWithValue("@ID", textBox1.Text);

        dt.Clear();

        sqlcmd.Fill(dt);

        if (dt!= null)
        {
            comboBox2.Text = dt.Rows[0]["name"].ToString();
        }
    }
}

请参阅下图中的错误:

enter image description here

1 个答案:

答案 0 :(得分:1)

这是因为您尝试获取不存在的行,因此您必须检查DataTable的count行。

if ( dt != null &&  dt.Rows.Count> 0)
{
    comboBox2.Text = dt.Rows[0]["name"].ToString();
}