2013-04-29 59 views
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并显示它的方法。如果您有任何建议,任何其他更好的方法也可以。在此先感谢查找并显示ADO conn中的最后一个记录集

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

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

您试过“SELECT MAX(id)as max_id,OtherFieldNam esGoHere FROM TableName;“ ??? – Rafael 2013-04-29 14:39:42

回答

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") 
+0

告诉我在FROM子句中有语法错误。我似乎无法找到解决这个问题。任何帮助或建议? – user2331814 2013-04-30 09:40:09

+0

不好意思我的坏。这是一个愚蠢的错误,你的代码是完美的。队友的欢呼声 – user2331814 2013-04-30 09:46:22