dataGridView1.DataSource如何重置所显示的数据 急急急!!!!

艾比利夫 2013-03-30 12:52:52
本人C#初学,小白一个,现在遇到点问题,请格纹大神帮忙。
我做了一个图书馆查询系统,就是比如你想知道一本书的相关信息,只需要输入书名或者作者,点击查询,就能显示该书的所有属性,如位置,库存量,单价等等。

现在初步已经实现功能 有一个小地方不太会。
就是比如我现在书名一栏输入“管理学”,点击查询,dataGridView1.DataSource就会显示名为管理学的书籍的相关信息。
但我现在再输入一个“c#入门与精通”,点击查询,dataGridView1.DataSource虽然也会显示名为C#入门与精通的书的相关信息,不过刚才“管理学”那本书的信息也在dataGridView1.DataSource显示,没法清除。
我现在想实现的功能就是当输入另一个搜索条件的时候,上一次所搜索的结果会消失,只显示这次搜索出的结果
不知道我表达的清除了没有 求教
附上代码
SqlConnection conn = new SqlConnection();
SqlDataAdapter sqldb;
SqlCommandBuilder sqlcb;
DataTable sqldt = new DataTable("btable");
DataSet sqlds = new DataSet();

conn.ConnectionString = "Data Source=PC\\QUKUN;Initial Catalog=master;Integrated Security=True";
string sql = "select * from btable where bname = '" + name + "'";
SqlCommand cmd = new SqlCommand(sql, conn);
conn.Open();
SqlDataAdapter sqldb = new SqlDataAdapter(sql, conn);
SqlCommandBuilder sqlcb = new SqlCommandBuilder(sqldb);
sqldb.Fill(sqlds, "btable");
DataRow sqldr = sqldt.NewRow();
object result = cmd.ExecuteScalar();
if (result != null)
{
dataGridView1.DataSource = sqlds.Tables[0];
conn.Close();
conn.Dispose();
}
else
{
MessageBox.Show("查无此书,请确认是否输入错误");
conn.Close();
conn.Dispose();
}
...全文
639 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
艾比利夫 2013-04-08
  • 打赏
  • 举报
回复
谢谢9L 我就加了一句sqlds.clear();就OK了
  • 打赏
  • 举报
回复
sqlds.Tables[0].Clear();
yyantifa 2013-03-31
  • 打赏
  • 举报
回复
                 sqldb.Fill(sqlds, "btable");
                 DataRow sqldr = sqldt.NewRow();
                 object result = cmd.ExecuteScalar();
这几句话是干什么的? 解释一下。。
艾比利夫 2013-03-31
  • 打赏
  • 举报
回复
引用 3 楼 zhurcn 的回复:
重新绑定后原来的数据应该是没有了,显示你第二次绑定所查处的值;会出现重新绑定后会有原来的值吗?
重新绑定是指:dataGridView1.DataSource=null;吗? 我试过这条语句 还试过dataGridView1.rows.clear(); 都没用
菜牛 2013-03-31
  • 打赏
  • 举报
回复
从代码看,除了有些无关紧要的错误外,到不会造成你说的情况,可能是其他地方还有影响到的代码。 可以试着加一句: dataGridView1.DataSource = sqlds.Tables[0]; dataGridView1.DataBind(); // 这才实施绑定
wsine 2013-03-31
  • 打赏
  • 举报
回复
重新绑定呢?
艾比利夫 2013-03-31
  • 打赏
  • 举报
回复
引用 2 楼 hyblusea 的回复:
通过Bindinsource来操作, 删除与新增数据 , 均使用 Bindinsource.Add,和Bindinsource.Remove
bindinsource?没这个属性啊
搬砖的码农 2013-03-30
  • 打赏
  • 举报
回复
重新绑定后原来的数据应该是没有了,显示你第二次绑定所查处的值;会出现重新绑定后会有原来的值吗?
hyblusea 2013-03-30
  • 打赏
  • 举报
回复
通过Bindinsource来操作, 删除与新增数据 , 均使用 Bindinsource.Add,和Bindinsource.Remove
艾比利夫 2013-03-30
  • 打赏
  • 举报
回复
求解答啊求解答

110,545

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧