ADODB.Recordset 错误 '800a0bb9'

muwenyi 2002-06-19 12:00:36
ADODB.Recordset 错误 '800a0bb9'

变量或者类型不正确,或者不在可以接受的范围之内,要不就是与其他数据冲突。

/fuj/Sale/Sale_List.asp, 行9
代码如下:
<%
PageSize=40
set rs=server.CreateObject("ADODB.RecordSet")
with rs
.CursorType=adOpenStatic 第九行
.LockType =adLockReadOnly
.PageSize=PageSize
.MaxRecords = PageSize * 35
end with
sSql="SELECT * FROM salebill,payway WHERE emid=" & session("sUserId") & _
" AND salebill.pwid=payway.pwid"
sSql1=sSql & " AND Unexhausted>0 ORDER BY salebill.saleid"
Rs.Open sSql1,Conn%>
我发现rs的CursorType,LockType以及CursorLocation属性都不能够设置.请问这是怎么回事呢?
...全文
79 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
MeXP 2002-06-19
  • 打赏
  • 举报
回复
<%
PageSize=40
set rs=server.CreateObject("ADODB.RecordSet")
sSql="SELECT * FROM salebill,payway WHERE emid=" & session("sUserId") & _
" AND salebill.pwid=payway.pwid"
sSql1=sSql & " AND Unexhausted>0 ORDER BY salebill.saleid"
Rs.Open sSql1,Conn,3,1
rs.PageSize=PageSize
rs.MaxRecords = PageSize * 35
%>
改成上面的哪里还报错?
MeXP 2002-06-19
  • 打赏
  • 举报
回复
报什么错?
muwenyi 2002-06-19
  • 打赏
  • 举报
回复
TO MeXP(秦汉风):

按照你说的方法进行了修改依然不成功!
为什么我的rs的这些属性不能用呢?

TO funboy88(司令):
前面加了定义常量的值错误依然!

请问为什么呢?
funboy88 2002-06-19
  • 打赏
  • 举报
回复
你在前面没有定义常量的值的呀,
当然出错

'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3

'---- LockTypeEnum Values ----
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4

'---- CursorLocationEnum Values ----
Const adUseServer = 2
Const adUseClient = 3
leeeel 2002-06-19
  • 打赏
  • 举报
回复
没有把常量声明加进来当然不行!
MeXP 2002-06-19
  • 打赏
  • 举报
回复
CursorType 可选,CursorTypeEnum 值,确定提供者打开 Recordset 时应该使用的游标类型。可为下列常量之一(参阅 CursorType 属性可获得这些设置的定义)。

常量 值 说明
adOpenForwardOnly 1 (默认值)打开仅向前类型游标。
adOpenKeyset 2 打开键集类型游标。
adOpenDynamic 3 打开动态类型游标。
adOpenStatic 4 打开静态类型游标。


LockType 可选。确定提供者打开 Recordset 时应该使用的锁定(并发)类型的 LockTypeEnum 值,可为下列常量之一(参见 LockType 属性可获得详细信息)。

常量 值 说明
adLockReadOnly 1 (默认值)只读 — 不能改变数据。
adLockPessimistic 2 保守式锁定(逐个) — 提供者完成确保成功编辑记录所需的工作,通常通过在编辑时立即锁定数据源的记录来完成。
adLockOptimistic 3 开放式锁定(逐个) — 提供者使用开放式锁定,只在调用 Update 方法时才锁定记录。
adLockBatchOptimistic 4 开放式批更新 — 用于批更新模式(与立即更新模式相对)。


将adopenstatic改为4,建议用3
adLockReadOnly改为1
MeXP 2002-06-19
  • 打赏
  • 举报
回复
PageSize/MaxRecords两个属性要放在返回结果集之后,而你放在了rs.open之前
muwenyi 2002-06-19
  • 打赏
  • 举报
回复
非常感谢MeXP(秦汉风)
按照您的方法已经完成了我的需求,可是我还是不明白其中的原因.为什么我定义
set rs=server.CreateObject("ADODB.RecordSet")以后直接设置rs属性
with rs
.CursorType=3
.LockType =1
.PageSize=PageSize
.MaxRecords = PageSize * 35
end with
而使用Rs.Open sSql1,Conn,3,1就没有问题了呢?

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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