一个我觉得很怪的问题,急求解!
Oracle
表tbl
id number not null
version number(3,1) not null
state number not null
其中id与version 为组合主键,如今给定条件state=3,要取符合该条件的所有version最大的记录(id和version)
我写了这样一个语句,不知道是不是该这样写,但查询结果正确
Select id, max(version) as version From tbl where state=3 group by id
但是在JSP或者ASP中,分页的时候,不知道是什么原因,记录集总页数pagecount总为-1,而换成其他sql就没问题,
下面是asp例子
If Request.QueryString("CurrentPage") = "" then iCurrentPage = 1
Else
iCurrentPage = Cint(Request.QueryString("CurrentPage"))
Select Case Request.QueryString ("Submit")
Case "Previous"
iCurrentPage = iCurrentPage - 1 '# 向后翻页
Case "Next"
iCurrentPage = iCurrentPage + 1 '# 向前翻页
End Select
End If
strSQL = "Select id, max(version) as version From tbl where state=3 group by id"
set rst = Server.CreateObject("ADODB.RecordSet")
rst.Open strSQL,Conn,1,3
Rst.PageSize = iPageSize
If Not (Rst.EOF) Then
Rst.AbsolutePage = iCurrentPage //这里出错
iTotalPages = Rst.PageCount //这里iTotalPages 总是-1
Else
iTotalPages = 1
iPageSize = 0
End If
Response.write "iTotalPages = " & iTotalPages & "<br>"
Response.end
问题点数:0、回复次数:2Top
1 楼hchxxzx(NET?摸到一点门槛)回复于 2003-08-01 19:16:24 得分 0
加如下语句
Set rs = Server.CreateObject("ADODB.recordset")
rs.CursorLocation = 3Top
2 楼colee(冷面 ◎ 虚者神头)回复于 2003-08-01 19:18:04 得分 0
rst.Open strSQL,Conn,3,3Top




