在ADO conn中查找并显示最后一个记录集

时间:2013-04-29 11:18:33

标签: database asp-classic vbscript adodb recordset

<%Dim adoCon
Dim rsLogbook
Dim strSQL
Set adoCon = Server.CreateObject("ADODB.Connection")
adoCon.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databasename.mdb")
Set rsLogbook = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT id, OtherFieldNamesGoHere FROM TableName;"
rsLogbook.Open strSQL, adoCon
%>

这是我用来将数据库链接到我的asp页面的代码。我想要做的是显示数据库的最后一条记录(目前有52条记录,但是当我添加更多记录时会改变)所以我认为最好的办法就是查找最后一条记录或最大记录“id”,它是每个记录的唯一字段,是访问数据库中的自动编号。但我找不到找到最大ID并显示它的方法。如果您有任何建议,任何其他更好的方法也可以。提前致谢

我尝试使用以下代码,但它给出了下面列出的错误

<%Dim adoCon
Dim rsLogbook
Dim strSQL
Set adoCon = Server.CreateObject("ADODB.Connection")
adoCon.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databasename.mdb")
Set rsLogbook = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT id, OtherFieldNamesGoHere FROM TableName;"
rsLogbook.CursorLocation=adUseServer
rsLogbook.Open strSQL, adoCon
rsLogbook.MoveLast
%>
  

ADODB.Recordset错误'800a0bb9'

     

参数类型错误,超出可接受的范围,或彼此冲突。

1 个答案:

答案 0 :(得分:1)

如果它是Access(或SQL Server)数据库,您可以使用类似

的查询
"SELECT top 1 id, OtherFieldNamesGoHere FROM TableName ORDER by id desc"

然后你可以在第一个例子中使用没有CursorLocation或MoveLast

的代码

对于记录,OLEDB连接字符串通常优于ODBC,例如

"PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" & Server.MapPath("databasename.mdb")