日期:2014-05-17  浏览次数:21002 次

dataGridView1.DataSource如何重置所显示的数据 急急急!!!!
本人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.C