如何获得最后一条记录
strConnStr = "Provider=SQLNCLI11;..."
Set cn = server.CreateObject("ADODB.Connection")
cn.Open strConnStr
strSQL = "SELECT DISTINCT year1 FROM cars WHERE year1 > 1900 ORDER BY year1;"
Set rs = Server.CreateObject("ADODB.Recordset")
Set rs.ActiveConnection = cn
rs.Open strSQL
YearList = rs.GetRows()
rs.MoveLast
MaxYear = rs.Fields(0)
cn.Close
set rs = Nothing
set cn = nothing
response.write MaxYear
什么都不返回,我也试过MaxYear = rs(0)
,MaxYear = rs("Year1")
都没有返回任何内容
我不需要改变strSQL !!!
我在rs.movelast上也收到错误
Microsoft SQL Server Native Client 11.0错误' 80040e24'
Rowset不支持向后提取。
答案 0 :(得分:1)
您可以使用TOP关键字获取最新记录:
SELECT TOP 1 year1 FROM cars WHERE year1 > 1900
group by year1
ORDER BY year1 desc;
答案 1 :(得分:1)
您可以使用TOP关键字获取最新的记录,如此
{{1}}
答案 2 :(得分:1)
基于更新:
Set rs.ActiveConnection = cn
rs.Open strSQL
YearList = rs.GetRows()
MaxYear = YearList(0,UBound(YearList))
cn.Close
旧答案:
如果你坚持不改变SQL(因此强迫服务器对你要丢弃的数据做更多的工作),那么你只需要遍历整个记录集: 击>
rs.Open strSQL
while Not rs.EOF
YearArr = rs.Fields(0)
rs.MoveNext
Wend
击> <击> 撞击>