【问题标题】:Find and display the last recordset in ADO conn在 ADO conn 中查找并显示最后一个记录集
【发布时间】:2013-04-30 09:34:52
【问题描述】:
<%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'

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

【问题讨论】:

  • 你试过“SELECT MAX(id) as max_id, OtherFieldNamesGoHere FROM TableName;” ???

标签: database asp-classic vbscript adodb recordset


【解决方案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")

【讨论】:

  • 告诉我 FROM 子句中存在语法错误。我似乎无法找到解决此问题的方法。有什么帮助或建议吗?
  • 不,对不起,我的错。这是一个愚蠢的错误,您的代码很完美。干杯队友
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-01
  • 2016-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多