C#如何把从数据库查找到的数据显示在DataGridView中,求大神指教(急!!)

我的代码是
ds.Clear();
SqlConnection SqlConnection1 = new SqlConnection();
SqlConnection1.ConnectionString = database.conn;
SqlConnection1.Open();
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
SqlDataAdapter1.SelectCommand.CommandText = strsql; (strsql储存查找到的数据)

DataSet ds = new DataSet();
ds.EnforceConstraints = false;
SqlDataAdapter1.Fill(ds);
DataTable dt = ds.Tables[0];
DataRow dr = ds.Tables[0].NewRow();
ds.Tables[0].Rows.Add(dr);
if (dt.Rows.Count != 0)
{
dataGridView1.DataSource = dt.DefaultView ;
MessageBox.Show("共有'"+ dt.Rows.Count +"'条查找结果", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}

执行查找后会出现“未将对象引用设置到对象的实例”的对话框

将绑定代码改为一下即可

SqlConnection SqlConnection1 = new SqlConnection();
SqlCommand cmd = new SqlCommand(strsql,SqlConnection1);
SqlDataAdapter SqlDataAdapter1 = new SqlDataAdapter();
SqlDataAdapter1.SelectCommand = cmd;
DataSet ds = new DataSet();
SqlDataAdapter1.Fill(ds);
if (ds.Tables.Count > 0)
{
dataGridView1.DataSource = ds.Tables[0];
MessageBox.Show("共有'"+ ds.Tables[0].Rows.Count +"'条查找结果", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-02
这种错误一般都是因为空指针而导致的。
SqlDataAdapter1.Fill(ds);——SqlDataAdapter1.Fill(ds,"tb_name");
不然 在 “ DataTable dt = ds.Tables[0];” 中根本读不到表的信息。

必须填充个表名称,防止你在绑定时,会报错“未找到表0。。。”
第2个回答  2012-07-02
你设下断点,看具体是哪里出错了
第3个回答  2012-07-02
ds.clear(); 天外飞仙么?
相似回答