0
<%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”

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

4

1 回答 1

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")
于 2013-04-30T01:34:52.737 回答