C#如何把从数据库查找到的数据显示在DataGridView中,求大神指教(急!!)
我的代码是ds.Clear();SqlConnectionSqlConnection1=newSqlConnection();SqlConnection1.Connect...
我的代码是
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);
}
执行查找后会出现“未将对象引用设置到对象的实例”的对话框 展开
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);
}
执行查找后会出现“未将对象引用设置到对象的实例”的对话框 展开
4个回答
展开全部
将绑定代码改为一下即可
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);
}
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);
}
展开全部
这种错误一般都是因为空指针而导致的。
SqlDataAdapter1.Fill(ds);——SqlDataAdapter1.Fill(ds,"tb_name");
不然 在 “ DataTable dt = ds.Tables[0];” 中根本读不到表的信息。
必须填充个表名称,防止你在绑定时,会报错“未找到表0。。。”
SqlDataAdapter1.Fill(ds);——SqlDataAdapter1.Fill(ds,"tb_name");
不然 在 “ DataTable dt = ds.Tables[0];” 中根本读不到表的信息。
必须填充个表名称,防止你在绑定时,会报错“未找到表0。。。”
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你设下断点,看具体是哪里出错了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ds.clear(); 天外飞仙么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询