아무도 내 레코드 세트 페이징이 작동하지 않는 이유를 알 수 있습니까? 나는이 물건에 대해 훨씬 몰라, 내가이 Microsoft 웹 사이트 링크에서 가져온 내 코드에있는 그것의 부분 다음에레코드 세트 페이징이 작동하지 않습니다.
Dim con, con2, rec, rec2, dsn, dsn2, sql, sql2, rName, sDate, eDate, intPageCount
rName=Request.Form("rn")
sDate=FormatDateTime(Request.Form("sD"), 2)
eDate=FormatDateTime(Request.Form("eD"), 2)
dsn = "Radio"
dsn2 = "InfoLib_SQL"
sql = "SELECT * FROM T_RadioControlLog WHERE RadioName = '"&rName&"' AND CONVERT(date, Date, 101) >=
CONVERT(date, '"&sDate&"', 101) AND CONVERT(date, Date, 101) <= CONVERT(date, '"&eDate&"', 101)"
set con=Server.CreateObject("ADODB.Connection")
set rec=Server.CreateObject("ADODB.Recordset")
rec.CursorLocation=3
con.Open dsn, "pw", "pw"
rec.Open sql, con
rec.PageSize=5
intPageCount=rec.PageCount
Select Case Request("Action")
case "<<"
intpage =1
case"<"
intpage = Request("intpage")-1
if intpage < 1 then intpage = 1
case ">"
intpage = Request("intpage")+1
if intpage > intPageCount then intpage = intPageCount
case ">>"
intpage = intPageCount
case else
intpage = 1
end select
If NOT rec.eof Then
Response.write("<table>")
rec.AbsolutePage = intpage
For intRecord = 1 to rec.PageSize
Response.write("<tr><td>Radio Name</td><td>Date</td><td>Employee Name</td><td>ID#</td></tr>")
Response.write("<tr><td>" & rec.fields("RadioName") & "</td>")
Response.Write("<td>" & rec.fields("Date") & "</td>")
set con2=Server.CreateObject("ADODB.Connection")
set rec2=Server.CreateObject("ADODB.Recordset")
sql2 = "SELECT EMP_NA FROM EMP_TABLE WHERE ID='"&rec.fields("ID#")&"'"
con2.Open dsn2, "pw", "pw"
rec2.Open sql2, con2
Response.Write("<td>" & rec2.fields("EMP") & "</td>")
Response.Write("<td>" & rec.fields("ID#")& "</td></tr>")
rec.movenext
rec2.close
con2.close
set rec2=nothing
set con2=nothing
If rec.EOF Then Exit For
Next
%>
<tr>
<form name="pageNav" action="results.asp" method="post">
<input type="hidden" name="intpage" value="<%=intpage%>">
<input type="submit" name="Action" value="<<">
<input type="submit" name="Action" value="<">
<input type="submit" name="Action" value=">">
<input type="submit" name="Action" value=">>">
Page: <%=intpage & " of " & intPageCount%>
</tr>
</form>
</table>
<%
Else
Response.write("Sorry, no entries were found.")
End If
rec.close
set rec=nothing
con.close
set con=nothing
호출 : 여기 http://support.microsoft.com/kb/202125
내 코드입니다 DB 작업 및 항목은 확실히 반환됩니다. 내 레코드 집합이 반환되도록 설정되었으므로 작은 테이블이 5 개 항목으로 표시되지만 >>, <, >, etc.
을 클릭하면 아무 것도 표시되지 않고 페이지가 비어있게됩니다. 누군가가 레코드 페이징이 어떻게 작동하는지 설명 할 수 있다면 좋을 것입니다.
빈 페이지의 원본을 보려면 (즉, 마우스 오른쪽 단추를 클릭하고 상황에 맞는 메뉴에서 "소스보기"를 선택하십시오) HTML이 있습니까? 오류 메시지? –
나는 정직하다면 어디에서 시작해야할지 모르겠다. 이 코드를 본 이후로 꽤 오래되었습니다 ... 불쾌감은 없지만 M $ 사이트에서 가져온 샘플은 끔찍합니다. 더 나은 자원은 [4guysfromrolla.com - 페이징에서 데이터베이스 결과 N 레코드까지] (http://www.4guysfromrolla.com/webtech/121298-1.shtml)와 같은 존재하며,이 기사는 페이징을 보여주는 다른 기사로 연결됩니다 SQL Server는 클라이언트 커서를 모두 잘라냅니다. – Lankymart
[CodeProject.com - ADO Recordset Paging in ASP] (http://www.codeproject.com/Articles/619/ADO-Recordset-Paging-in-ASP)에 대한이 기사는 단계별 지침이있는 또 다른 좋은 예입니다. . Google 검색에서 2 초. – Lankymart