ExecuteScalar()与游标的关系

DOS6 2004-07-09 03:02:06
程序出错了,调试了一下,一执行ExecuteScalar()就出现已经达到游标的最大值
数据不多,就是ExecuteScalar()执行的次数不太多,是没问题的。
我执行了ExecuteScalar()大概几千次吧就出现这个错误。
...全文
112 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bineon 2004-07-09
  • 打赏
  • 举报
回复
既然你是联系执行ExecuteScalar()那么我认为还是使用dataset的好。这样不至于频繁的开关数据库连接。
test7979 2004-07-09
  • 打赏
  • 举报
回复
ExecuteScalar 应当不会锁定记录, 它会自动释放的,下面是源代码


public virtual object ExecuteScalar() {
object local0;
SqlDataReader local1;

SqlConnection.SqlClientPermission.Demand();
local0 = null;
try {
local1 = this.ExecuteReader(0, 1, true);
try {
if (local1.Read() && local1.FieldCount > 0)
local0 = local1.GetValue(0);
}
finally {
if (local1 == null)
goto i-1;
local1.Dispose();
}
}
catch (Object) {
throw;
}
return local0;
}
DOS6 2004-07-09
  • 打赏
  • 举报
回复
谢谢楼上二位
我的conncetion每次打开后都关闭的。
所以问题就在于,我在一个connection中出现这个问题
我也证实一下,ExecuteScalar()本身到底有没有和游标之类的有关系
它执行多次会怎么样
xxdneu 2004-07-09
  • 打赏
  • 举报
回复
执行ExecuteScalar()以后也要关闭 Connection的
test7979 2004-07-09
  • 打赏
  • 举报
回复
不一定和ExecuteScalar 有关,可能是你其它的对象没有释放

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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