| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2586 人关注过本帖
标题:向access数据库中插入一条语句,DataGridView不能及时刷新
只看楼主 加入收藏
pegasus827
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-23
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
向access数据库中插入一条语句,DataGridView不能及时刷新
遇到一个问题,我向access数据库中插入一条语句,然后自定义函数重绑数据源刷新DataGridView,但发现不能及时刷新,一定要睡1秒,等插入语句执行完毕后才能正常刷新。我纳闷,插入一条记录要那么久?!

 mycom=new OleDbCommand("Insert into sites (sitename,siteurl,sitekey,sitecode) values ('"+textBox1.Text+"','"+textBox2.Text+"','"+comboBox1.SelectedItem.ToString()+"','"+textBox3.Text+"')",myOleDbConnection);
myOleDbConnection.Open();
mycom.ExecuteNonQuery();
 System.Threading.Thread.Sleep(1000);
fm.RefreshGrid();




RefreshGrid代码大致如下:

 public void RefreshGrid()
        {
            
            if (this.InvokeRequired)
            {
                Mydelegate mydel1 = RefreshGrid;
                this.Invoke(mydel1);
            }
            else
            {
                //dataGridView1.Refresh();这样刷新无效,因为数据库集还是老集
               // String sqlstr = "select * from sites";
                ds = new DataSet();  //不写会保留原来记录再添加一遍,也不能写ds=null
                myadapter.Fill(ds, "Table1");
                dataGridView1.DataSource = null;
                dataGridView1.DataSource = ds.Tables["Table1"];
               // dataGridView1.Refresh();
                dataGridView1.Columns[0].Visible = false;
                dataGridView1.Columns[3].Visible = false;
                dataGridView1.Columns[5].Visible = false;  //得重新设定,不然会恢复所有行都可见
                dataGridView1.Columns[2].Width = 200;
               
            }
        }
搜索更多相关主题的帖子: access 数据库 values 数据源 
2012-05-09 10:13
pegasus827
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-23
收藏
得分:0 
HttpTest3.rar (69.56 KB)
   完整代码如下,就是那个添加网站按钮,如果去掉System.Threading.Thread.Sleep(1000);
添加完了不能马上显示到主窗口
2012-05-09 10:28
lptnyy
Rank: 2
等 级:论坛游民
帖 子:35
专家分:42
注 册:2011-6-6
收藏
得分:10 
清空 DATASET 清空控件  从新给DATASET赋值 在给控件赋值
2012-05-09 20:56
lptnyy
Rank: 2
等 级:论坛游民
帖 子:35
专家分:42
注 册:2011-6-6
收藏
得分:0 
在添加按钮里 绑定一个 在执行查询数据库的方法  同时 重新绑定数据源
2012-05-09 20:58
馨梦惜夕
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:54
专家分:190
注 册:2011-5-18
收藏
得分:10 
你把System.Threading.Thread.Sleep(1000);该为System.Threading.Thread.Sleep(0);  应该就行了  
2012-05-09 23:00
pegasus827
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-9-23
收藏
得分:0 
都不是,是我自己写代码不规范的错误,今天自己解决了,谢谢大家
2012-05-10 09:15
快速回复:向access数据库中插入一条语句,DataGridView不能及时刷新
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052358 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved