求教关于asp.net中读库的问题

hlong001 2005-11-24 09:42:32
我用一个datagrid来读access库中的数据,运行时非常好 可是当我点了俄一二十次各个栏目的页面就出错误页面了:
异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误
源错误:
行 118:
行 119: OleDbConnection conn = new OleDbConnection(Application["connstr"].ToString());
行 120: conn.Open();
行 121:
行 122: OleDbDataAdapter MyCommand = new OleDbDataAdapter(MySql,conn);

我读库的代码是:
OleDbConnection conn = new OleDbConnection(Application["connstr"].ToString());
conn.Open();

OleDbDataAdapter MyCommand = new OleDbDataAdapter(MySql, conn);
DataSet ds = new DataSet();
MyCommand.Fill(ds, "CommInfo");

DataView dv = ds.Tables["CommInfo"].DefaultView;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
conn.Close();
我在想可能是不适这段代码的问题啊 为什么开始是好的 非要等到点datagrid中读出的栏目几十次就出错误页面呢 郁闷~~~~~~~~~请教各位高手指点阿~~~~

...全文
168 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivianfdlpw 2005-11-28
  • 打赏
  • 举报
回复
检查你所有的页面,及时关闭数据库连接
hlong001 2005-11-28
  • 打赏
  • 举报
回复
未解决~~~~~~~继续求教中....
yes4pierce 2005-11-24
  • 打赏
  • 举报
回复
把OleDbConnection conn = new OleDbConnection(Application["connstr"].ToString());
放在类的构造函数中声明;
调用时,
if(conn.State==ConnectionState.Closed)
{
conn.Open();
}
使用完毕后,
if(conn.State==ConnectionState.Open)
{
conn.Close();
}





hlong001 2005-11-24
  • 打赏
  • 举报
回复
我估计不是OleDbConnection conn = new OleDbConnection(Application["connstr"].ToString()); 的问题吧
我点了几十次 也就是数据库连接关闭了几十次 可能资源占慢 然后再也无法发开 所以报错为120行的conn.Open();
可是我全部释放了阿:

OleDbConnection conn = new OleDbConnection(Application["connstr"].ToString());
conn.Open();

OleDbDataAdapter MyCommand = new OleDbDataAdapter(MySql, conn);
DataSet ds = new DataSet();
MyCommand.Fill(ds, "CommInfo");

DataView dv = ds.Tables["CommInfo"].DefaultView;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();

dv.Dispose();
ds.Clear();
MyCommand.Dispose();
conn.Close();
大家帮帮我啊~~~
hlong001 2005-11-24
  • 打赏
  • 举报
回复
OleDbConnection conn = new OleDbConnection(Application["connstr"].ToString()); 这句话怎么改阿~~
hlong001 2005-11-24
  • 打赏
  • 举报
回复
晕我按楼上的把数据库添加了everyone并给了全部权限 现在运行程序竟然主页都没出现就直接出现那个错误页面 咋回事阿~~~ 设为共享也不管用
yefeihaha 2005-11-24
  • 打赏
  • 举报
回复
最有可能出做的在这句话 你把他修改了不用Application 试试

OleDbConnection conn = new OleDbConnection(Application["connstr"].ToString());
liuxin001 2005-11-24
  • 打赏
  • 举报
回复
是资源没有释放的原因,把所有的占用资源的对象都释放出来。
feihu_02 2005-11-24
  • 打赏
  • 举报
回复
我也遇到过此类问题。
这样试试:
第一,把数据库所在目录的属性添加“EVERYONE”对此目录有写权限
第二,如果不行,将你的项目文件的目录设为共享。
第三,在程序中记得使用DataReader一定记得关闭,以释放资源。
hlong001 2005-11-24
  • 打赏
  • 举报
回复
MyCommand.Dispose()也加了 还是点了个30多次就出现一样的错误页面。
tigerwen01 2005-11-24
  • 打赏
  • 举报
回复
有可能是连接池满了,来不及释放。加上MyCommand.Dispose()试试。
hlong001 2005-11-24
  • 打赏
  • 举报
回复
我数了下 我点了30多次 然后出现下面的错误页面:
指定的错误
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误

源错误:


行 118:
行 119: OleDbConnection conn = new OleDbConnection(Application["connstr"].ToString());
行 120: conn.Open();
行 121:
行 122: OleDbDataAdapter MyCommand = new OleDbDataAdapter(MySql, conn);


源文件: d:\appweb\renming\webcontrol\datagrid.ascx.cs 行: 120

堆栈跟踪:


[OleDbException (0x80004005): 未指定的错误]
System.Data.OleDb.OleDbConnection.ProcessResults(Int32 hr)
System.Data.OleDb.OleDbConnection.InitializeProvider()
System.Data.OleDb.OleDbConnection.Open()
Jack.DataGrid.MyConnection(String MySql) in d:\appweb\renming\webcontrol\datagrid.ascx.cs:120
Jack.DataGrid.Page_Load(Object sender, EventArgs e) in d:\appweb\renming\webcontrol\datagrid.ascx.cs:73
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()


其中行 120: conn.Open();是标记的红颜色
liuredstar 2005-11-24
  • 打赏
  • 举报
回复
你跟踪调试看看因为什么报错的。
hlong001 2005-11-24
  • 打赏
  • 举报
回复
应该不是的 在这台服务器上的其他网站点很多次都很好 还有 如果我点击我这个网页出现这个问题了 竟然会引起其他网站同样的问题 也都打不开了 但是如果我把这个网站从服务器上删除了 其他网站就全部变好了
tigerwen01 2005-11-24
  • 打赏
  • 举报
回复
是不是请求过于频繁使服务器反映不过来
hlong001 2005-11-24
  • 打赏
  • 举报
回复
up!
hlong001 2005-11-24
  • 打赏
  • 举报
回复
不行啊
点了大概50多次
还是这个错误页面出来了:
指定的错误
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 未指定的错误

源错误:

行 96: OleDbConnection conn = new OleDbConnection(Application["connstr"].ToString());
行 97:
行 98: conn.Open();
行 99:
行 100: OleDbDataAdapter MyCommand = new OleDbDataAdapter(MySql, conn);

cen123 2005-11-24
  • 打赏
  • 举报
回复
dv.Dispose();
ds.Clear();
MyCommand.Dispose();
conn.Close();

加上
conn.Dispose()看看!

62,046

社区成员

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

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

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

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