Asp classic 经典ASP ADO设置书签导致错误

Asp classic 经典ASP ADO设置书签导致错误,asp-classic,ado,Asp Classic,Ado,以下经典ASP代码在rsTemp.Bookmark=varCurrBookmark行生成错误。这似乎是相当简单的代码,应该可以工作。请注意,我可以阅读书签,但无法设置它。此外,如果我取消对该行的注释并将CursorLocation设置为3(使用客户机),则该代码也可以工作 ADODB.记录集错误“800a0bb9” 参数类型错误、超出可接受范围或相互冲突 /app/TestBookMark.asp,第19行 <html> <body>

以下经典ASP代码在rsTemp.Bookmark=varCurrBookmark行生成错误。这似乎是相当简单的代码,应该可以工作。请注意,我可以阅读书签,但无法设置它。此外,如果我取消对该行的注释并将CursorLocation设置为3(使用客户机),则该代码也可以工作

ADODB.记录集错误“800a0bb9”

参数类型错误、超出可接受范围或相互冲突

/app/TestBookMark.asp,第19行

   <html>
        <body>
            <%
                 strConn = "Provider=SQLOLEDB;Data Source=localhost\sqlexpress;Initial Catalog=db;User Id=uid;Password=pwd;"
                 Set objDataConn = Server.CreateObject("ADODB.Connection")
                 objDataConn.Open strConn
                 strQry = "SELECT * FROM tbl"
                 Set rsTemp = Server.CreateObject("ADODB.Recordset")
                 'rsTemp.CursorLocation = 3
                 rsTemp.Open strQry, objDataConn,3,1

                   lngRecordCount = rsTemp.RecordCount


                 varCurrBookmark = rsTemp.Bookmark
                 rsTemp.MoveLast
                 Response.Write rsTemp.Bookmark
                 Response.Write "<BR>"
                 rsTemp.Bookmark = varCurrBookmark
                 Response.Write varCurrBookmark             
                 %>

    </body>
</html>


嗯。它应该与该游标类型一起工作。rsTemp.打开后,您可以尝试以下操作吗?Response.Write“Recordset supports bookmarks:&rsTemp.supports(&H2000)和“
”,它将告诉您正在创建的记录集(不带客户端光标位置)是否支持书签。如果它返回FALSE,我不知道为什么会这样,如果它返回TRUE,那么,您仍然有一个问题!:-)只是又一个想扔进这堆。。。进行检查,但如果返回true,请尝试注释RecordCount语句,看看是否有效果。我想知道这是否会影响光标的位置,导致书签分配出现问题。嗨,Bret,谢谢你的回复。我尝试了你所要求和支持的书签,但它返回的是真的。我删除了所有记录移动或计数,甚至尝试了rsTemp.Bookmark=rsTemp.Bookmark,它会生成相同的错误“参数类型错误、超出可接受范围或相互冲突”。我的数据库是SQL Server Express 2008 R2,也将其设置为客户端游标rsTemp.CursorLocation=3,运行正常。我只是想知道这是否会导致性能问题。