这个是我第一次按 button1按钮 时 显示的数据 这是我再次按 button1 时 显示的信息,可以发现 我第二次按 button1 时 显示的数据 有重复
我想知道 怎样可以 在按 第二次 按钮时  可以将 第一次 的表格信息 删除掉,再显示第二次的信息。我的代码如下:private DataSet ds = new DataSet();
        private SqlConnection conn = null;
        private SqlDataAdapter da = null;
        private const string DRIVER = "server=192.168.0.2;database=StudentMISDB;uid=sa;pwd=123456";
        private const string sql_select = "select * from T_Users";        public Form1()
        {
            InitializeComponent();
        }        private void button1_Click(object sender, EventArgs e)
        {
            conn = new SqlConnection(DRIVER);
            da = new SqlDataAdapter(sql_select, conn);
            da.Fill(ds, "table");
            this.dataGridView1.DataSource = ds.Tables["table"].DefaultView;
                    }

解决方案 »

  1.   


    private DataSet ds ;   //这里定义
            private SqlConnection conn = null; 
            private SqlDataAdapter da = null; 
            private const string DRIVER = "server=192.168.0.2;database=StudentMISDB;uid=sa;pwd=123456"; 
            private const string sql_select = "select * from T_Users";         public Form1() 
            { 
                InitializeComponent(); 
            }         private void button1_Click(object sender, EventArgs e) 
            { 
                conn = new SqlConnection(DRIVER); 
                da = new SqlDataAdapter(sql_select, conn); 
                ds=new DataSet();  //在这里实例化
                da.Fill(ds, "table"); 
                // this.dataGridView1.DataSource=null;   //这句不要也行
                this.dataGridView1.DataSource = ds.Tables["table"].DefaultView; 
                         }
      

  2.   

    操作数据库,datagrid数据填充,是避免不了的,因为你点击button的目的就是要在datagrid里显示最新的数据,所以从数据库读最新从数据不可避免;datagrid的显示完全是靠它的datasource的,要是让Datagrid显示不同数据,都是重新指定它的datasource,再databind,它不能在不databind下动态加行,datagrid.Items是只读的不可编辑DataGridItemCollection,但列可以动态加
      

  3.   

             LZ   如果想第一次,和第二次的内容 不重复的话``
        可以用                   ds.Reset();       应该 就不会有重复的出现了````
      

  4.   


    private void button1_Click(object sender, EventArgs e) 
            { 
                conn = new SqlConnection(DRIVER); 
                da = new SqlDataAdapter(sql_select, conn); 
                da.Fill(ds, "table"); 
                this.dataGridView1.DataSource = ds.Tables["table"].DefaultView; 
                         }
    da.Fill(ds, "table");这一句有问题,
    前面应该加上一句,ds.Table["table"].Rows.Clears();
    一个Fill动作会在对应DataTable中加入新记录,所以之前要清除DataTable里老的数据
      

  5.   

    private DataSet ds = new DataSet(); 
            private SqlConnection conn = null; 
            private SqlDataAdapter da = null; 
            private const string DRIVER = "server=192.168.0.2;database=StudentMISDB;uid=sa;pwd=123456"; 
            private const string sql_select = "select * from T_Users";         public Form1() 
            { 
                InitializeComponent(); 
            }         private void button1_Click(object sender, EventArgs e) 
            { 
    ds.clear();
                conn = new SqlConnection(DRIVER); 
                da = new SqlDataAdapter(sql_select, conn); 
                da.Fill(ds, "table"); 
                this.dataGridView1.DataSource = ds.Tables["table"].DefaultView; 
                         }
      

  6.   

    da.Fill(ds, "table"); 
    之前清空ds