oracle查询结果为什么没有刷新?

bucherren 2009-08-10 07:03:09
我现在的项目使用的是oracle11g, vs2008,最近有一个令人烦恼的问题,某些oracle语句的查询结果在数据更改后重新查询没有变化,过上半分钟再查也不变。不管是asp.net工程还是windows窗体工程都是这样。
我在网上说oracle有结果集缓存,但这样的效果太无语了。不知道是不是这个原因?

主要代码如下, 请各位帮忙看看哪里有错:

sql语句是 "select SYNCSTAMP from itemstyle order by SYNCSTAMP,STYLE"

g_ConnString = "DATA SOURCE=orcl;PASSWORD=pwd;PERSIST SECURITY INFO=True;USER ID=bucher";

using (OracleConnection Conn = new OracleConnection(g_ConnString))
{
int iGetRecCount = PageSize * (iPageIndex + 1);

string pagesql = "select * from (" + SQLString + ") where rownum <=" + iGetRecCount.ToString();

//SQLString = SQLString.Insert(SQLString.IndexOf("select", StringComparison.CurrentCultureIgnoreCase) + 6, string.Format(" top {0} ", iGetRecCount.ToString()));
DataTable dt = new DataTable();
using (OracleDataAdapter DataAdpt = new OracleDataAdapter(pagesql, Conn))
{
Debug.WriteLine(pagesql);
try
{
Conn.Open();
DataAdpt.Fill(PageSize * iPageIndex, PageSize, dt);
}
catch (OracleException ex)
{
throw ex;
}
finally
{
DataAdpt.Dispose();
Conn.Close();
}
}
return dt;
}
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bucherren 2009-09-04
  • 打赏
  • 举报
回复
问题找到了,我是用sql developer里面用语句更新的,更新完了加commit之后才会在其它session看到。刚从sql server转过来,很多不习惯。
john3747cn 2009-08-11
  • 打赏
  • 举报
回复
关注 帮顶
szldk 2009-08-10
  • 打赏
  • 举报
回复
关注
bucherren 2009-08-10
  • 打赏
  • 举报
回复
结果集缓存是11g的新功能,我只是猜测与这个有关,另外,也不是所有的sql语句都不行。我新建一个表,然后查询这个表的数据就没问题。我代码里的表字段稍微多一点,有25个。
gaijf 2009-08-10
  • 打赏
  • 举报
回复
跟结果集缓存无关
先把代码过一遍
fengjian_428 2009-08-10
  • 打赏
  • 举报
回复
oracle我用过1年多 从没出过问题
是不是程序里设置了缓存?

62,046

社区成员

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

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

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

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