怪问题,是不是程序执行太快,以致于数据库来不及更新就被显示出来了?

江南第八帅 2008-04-07 01:12:29
ASP.NET中,更新Access数据库(增、删、改),然后把信息显示到datagrid里面:
我先写了更新语句,然后才把数据绑定到datagrid中,奇怪的是datagrid中居然没反应,但数据库里确实是更新了,此时要手动刷新下页面才会显示更新结果...
做了个实验:用单步调试,让时间拖的久些,居然一次就使datagrid更新了,不用再刷新页面;
再次实验:在更新语句和绑定语句前加了一个空循环拖延时间,datagrid又是一次就更新了。
请问各位,这个问题是不是因为程序执行太快,以致于数据库还来不及更新就先被读出绑定到datagrid里啊?这个问题怎么解决呢?难道要另开一个线程延迟执行绑定?
...全文
144 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
7仔 2008-04-07
  • 打赏
  • 举报
回复
搂主如果使用的是datasource数据源控件就会出现以上的问题
Magic_YJL 2008-04-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 JustLovePro 的回复:]
确实很奇怪!!
[/Quote]
JustLovePro 2008-04-07
  • 打赏
  • 举报
回复
确实很奇怪!!
  • 打赏
  • 举报
回复
代码可以show一下.
changjiangzhibin 2008-04-07
  • 打赏
  • 举报
回复
不知道LZ使用哪个控件做数据源会出现这样的情况,方便的话贴一段看看;
蛮奇怪的;
michael1013 2008-04-07
  • 打赏
  • 举报
回复
SQL被缓存了。
在批量写操作前后 Begin Transaction 和 Commit Transaction。

其实楼主的问题就是所谓的Uncommitted Read问题。
xiaoke0518 2008-04-07
  • 打赏
  • 举报
回复
是页面缓存的问题吧
wapit 2008-04-07
  • 打赏
  • 举报
回复
更新之后,datagrid.DataBind();
ttg520 2008-04-07
  • 打赏
  • 举报
回复
楼主是直接绑定数据到控件上的 如果作删除 还需要再绑定一次 也主说再读取一次数据
haike 2008-04-07
  • 打赏
  • 举报
回复
应该是页面缓存的问题.
zdjray 2008-04-07
  • 打赏
  • 举报
回复
建议使用DataSet
这样可以直接将内存里的东西显示在页面上
而不会出现上述情况
一品梅 2008-04-07
  • 打赏
  • 举报
回复
页面加载代码和其它的事件名一概写上看一看
chenyaping987123 2008-04-07
  • 打赏
  • 举报
回复
有点奇怪啊,要是有高人指点以下我们就好了啊
江南第八帅 2008-04-07
  • 打赏
  • 举报
回复
string strSql_1 = "delete from table1 where field0 = " + param_0;
string strSql_2 = "select * from table1";
OleDbConnection oleDbConn = new OleDbConnection(strConn);
OleDbCommand oleDbComm = new OleDbCommand(strSql_1,oleDbConn);
DataView dv = new DataView();
try
{
oleDbComm.ExecuteNonQuery();
//如果在此处添加空循环,则datagrid可一次更新成功
OleDbDataAdapter oleDbAdp = new OleDbDataAdapter(strSql_2,oleDbConn);
DataTable dTab = new DataTable();
oleDbAdp.Fill(dTab);
dv = dTab.DefaultView;
dataGrid1.DataSource = dv;
dataGrid1.DataBind();
}
catch(Exception ex)
{
throw new Exception("数据库更新异常:" + ex.Message);
}

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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