ASP+ORACLE问题:recordset.open的光标类型不能向上滚动!

my0707 2004-10-22 12:05:53
初用ORACLE,发现个问题,情况紧急:

用ADO连接ORACLE:
-----------------------------------------------------------------------------------
connstr="Provider=MSDAORA.1;;Persist Security Info=True;User ID=a;Password=a;Data Source=test"
conn.open connstr
set rs=server.createobject("adodb.recordset")
sql="select * from mytb"
rs.open sql,conn,3,1

'以下代码统统不好用!
rs.moveFirst
rs.movePrevious
'用rs.recordcount返回记录条数是-1
-----------------------------------------------------------------------------------

以上怎么解决啊???有过类似经验的请赐教!

如果实在不行的话就只能试试用ODBC了!
...全文
125 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
my0707 2004-10-25
  • 打赏
  • 举报
回复
可以了!
ruide205 2004-10-22
  • 打赏
  • 举报
回复
不太考虑效率的做法rs.open sql,conn,3,3
一定可以地!
surferc 2004-10-22
  • 打赏
  • 举报
回复
转贴

RS.OPEN SQL,CONN,A,B

A:

ADOPENFORWARDONLY(=0)
只读,且当前数据记录只能向下移动

ADOPENKEYSET(=1)
只读,当前数据记录可自由移动

ADOPENDYNAMIC(=2)
可读写,当前数据记录可自由移动

ADOPENSTATIC(=3)
可读写,当前数据记录可自由移动,可看到新增记录

B:

ADLOCKREADONLY(=1)
缺省锁定类型,记录集是只读的,不能修改记录

ADLOCKPESSIMISTIC(=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。

ADLOCKOPTIMISTIC(=3)
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。

ADLOCKBATCHOPTIMISTIC(=4)
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。

当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。

bladeinside 2004-10-22
  • 打赏
  • 举报
回复
更改游标类型为1试试。。
trumplet 2004-10-22
  • 打赏
  • 举报
回复
rs.open sql,conn,3,1

试试上面这句话里的3,1的各种组合:
rs.open sql,conn,1,1
rs.open sql,conn,3,1
rs.open sql,conn,3,1
rs.open sql,conn,3,3
必有一种能用movefirst的。
fenmixiao 2004-10-22
  • 打赏
  • 举报
回复
我试过了,前两个可以。你把表里数据显示,这时倒最后了吧,然后你做rs.movefirst
,再做三个movenext,然后做moveprevious看看输出的数据相符吗?
my0707 2004-10-22
  • 打赏
  • 举报
回复
?????
都不好用!!!
fenmixiao 2004-10-22
  • 打赏
  • 举报
回复
rs.moveFirst 和rs.movePrevious好用。只不过rs.recordcount返回值就是-1
my0707 2004-10-22
  • 打赏
  • 举报
回复
怎么没人回答我的问题???顶下!

28,409

社区成员

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

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