ASP连接Sybase ASE,只能读取最后一笔

youngsheep 2010-12-06 05:01:14

strSQL = "Select * From bas_dept"

'Connect to Sybase via ADODB
Set Conn = Server.CreateObject("ADODB.Connection")
ConnStr = "Provider=Sybase ASE OLE DB Provider; Data source=Sybase"

Conn.Open ConnStr

'Execute Query
Set rs = Server.CreateObject("ADODB.recordset")
rs.Open strSQL, Conn, 1,1

do while not rs.eof
response.Write rs(1)
rs.movenext
loop


不管怎么设定,都是只读到最后一笔,好像指针一读取就移到最后了
...全文
62 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
youngsheep 2010-12-06
  • 打赏
  • 举报
回复
五星的就是不一样,高手


没有认真阅读过RS的参数,不能怪谁
hookee 2010-12-06
  • 打赏
  • 举报
回复
rs.CursorLocation = 3
rs.Open strSQL, Conn, 3,1
rs.MoveFirst
试试看
youngsheep 2010-12-06
  • 打赏
  • 举报
回复
如果用rs.moveprevious
那么要使用
strSQL = "Select * From bas_dept order by dept_no desc"

才能达到我们平时用MSSQL的
strSQL = "Select * From bas_dept order by dept_no Asc"
的效果

两年前我试过,也就是这个结果,一直没有解决
youngsheep 2010-12-06
  • 打赏
  • 举报
回复
刚刚测试过了
不能用我们平时用的rs.movenext,只能用rs.moveprevious

奇了怪了

我把ids显示出来看一下


[Provider]
ProviderName=Sybase ASE OLE DB Provider
ClsID={DDACBAD3-9F47-7379-96DA-00105A17E92A}

[Properties]
Initial Catalog=dbgc
User ID=sa
Connect Timeout=15
Server Name=DBSV01
Network Protocol=Winsock
Server Port Address=5000
Optimize Prepare=Full
Select Method=Direct
Raise Error Behavior=MS Compatible
Print Statement Behavior=MS Compatible
Extended ErrorInfo=FALSE
Stored Proc Row Count=Last Statement Only
Row Cache Size=50
Enable Quoted Identifiers=0
Packet Size=1
Default Length For Long Data=1024
Tightly Coupled Distributed Transactions=0

28,391

社区成员

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

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