簡體   English   中英

ASP經典:新表的記錄集recordcount -1但舊表可以嗎?

[英]ASP Classic: recordset recordcount -1 for new table but older ones ok?

我正在使用Classic ASP訪問我們的Web服務器上的Access數據庫。 該應用程序檢查對Web /表的傳感器更新,即打印最后5條記錄。 歷史上,此代碼已用於多個表。 我最近在數據庫中添加了一個新表,當我修改代碼以從新表中檢索記錄時,我得到了recordcount = -1,並且只輸出最后一條記錄。 我已經閱讀了有關Recordset游標的信息,但不確定我是否知道如何將其應用於代碼,以及為什么該代碼不適用於此新表? 這是檢索記錄以進行打印的基本代碼:

WebName = "OurWeb"
MySite = "filedsn=" & Server.MapPath("/" & WebName & "/files/reffiles/accessdsn.dsn") & ";DBQ=" & Server.MapPath("/" & WebName & "/files/reffiles/loger.mdb") & ";DefaultDir=" _
& Server.MapPath("/" & WebName & "/") & ";"

set MyDatabase = server.createobject("ADODB.Connection")
if err.number <> 0 then response.write("<p>ODBC Error</p>")
Mydatabase.open MySite 

set LastMyDate = MyDatabase.Execute("SELECT Format(Max([Date_Time]),'mm/dd/yy hh:mm:ss') AS Expr1 FROM Charger2;")

set LastMYDate = MyDatabase.Execute("SELECT Charger2.id FROM Charger2 WHERE Charger2.date_Time = #" & lastMGdate.fields(0).value & "#;")

MyIDLast = LastMyDate.fields(0).value -5
set LastMyRecord = MyDatabase.Execute("SELECT Charger2.id,  Charger2.date_time,  Charger2.INV_vdc,  Charger2.INV_adc FROM Charger2 WHERE (((Charger2.id) > (" & MyIDLast & ")));")

Id是一個自動編號整數。 此時,recordcount屬性為“ -1”。 當我直接從Access Program界面運行該Select查詢時,它將返回正確的數字。

感謝您提供任何幫助並深入了解此表為何發生此問題... RDK

如果記錄集未完全加載,則recordcount返回-1。

當使用返回單個記錄的聚合查詢時,它通常已完全加載。 但是,如果您過濾未索引的列,則可能不會。

如果要可靠地使用.RecordCount.MoveLast首先使用.MoveLast來完全加載記錄集。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM