65.9K
CodeProject 正在变化。 阅读更多。
Home

按字母顺序分页数据库

starIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

1.00/5 (15投票s)

2003年9月11日

2分钟阅读

viewsIcon

48124

downloadIcon

539

数据库按字母顺序分页教程。

引言

按字母顺序数据库分页

此代码的目的是按字母顺序对数据库进行分页。

<%
'*******************************************************
'* 将 <dsn-name> 替换为实际的 DSN 名称,例如 empdata *
'* 创建包含字段 id,firstname,lastname 的表 emp *
'*******************************************************
%>

<%
Dim conn
Dim rs
Dim sql

Set conn = Server.CreateObject("ADODB.Connection")
conn.open "dsn=<dsn-name>;uid=;pwd="

If request.QueryString("letter") = "" then
 sql = "SELECT firstname,lastname FROM emp " & _
 "WHERE firstname Like '[A]%'" & _
 "ORDER BY firstname"
Else
 
sql = "SELECT firstname,lastname " & _
 "FROM emp " & _
 "WHERE firstname LIKE '" & request.Querystring("letter") & "%'" & _
 "ORDER BY firstname"
End If
' 调试行
'response.write sql
 
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 1, 1


' 显示发现错误时的消息
If Err.Number <> 0 Then
 Response.write("SQL: " & sql & "<br>")
 Response.write("Error Code: " & Err.Number & "<br>")
 Response.write("Error Description: " & Err.Description & "<br>")
 Response.write("Error Source: " & Err.Source & "<br>")
 Response.write("Error Line: " & Err.Line & "<br>")
 response.end
End If
totalRecs = rs.RecordCount
%>

<html>
<head><title>按字母顺序分页....</title></head>
<body>
<center>
<Table leftmargin='0' bordercolor="#111111" width="100%" cellspacing="0" style="border-collapse: collapse" cellpadding="0">
  <tr>
    <td width="100%" bgcolor="#888C00" bordercolor="#888C00">&nbsp;</td>
  </tr>
  <tr>
    <td width="100%" bordercolor="#D8DC98" bgcolor="#D8DC98">&nbsp;</td>
  </tr>
</Table>

<%
Response.write "<font face='verdana' size='2'>"
'Response.write "记录总数: " &totalRecs
%>

<br>
<br>
<%
for x=1 to 26
response.write " <a href='db.asp?letter=" & chr(64+x) & "'>" & chr(64+x) & "</a> -"
next
%>
</center>
<br>
<Table border='1' cellspacing="0" width="100%" bordercolor="#666666" cellpadding="3" style="border-collapse: collapse">

<%
recCount = 0
recActual = 0

Do While (NOT rs.EOF)
 recCount = recCount + 1
 'If Cint(recCount) >= Cint(startRec) Then
 ' recActual = recActual + 1 %>

<% ' 显示行的交替颜色

 If recCount mod 2 = 0 Then
  bgcolor="#98B4F8"
 Else
  bgcolor="#A8BCE8"
 End If

 x_ocfname = rs("firstname")
 x_oclname = rs("lastname")
%>

<tr bgcolor="<%= bgcolor %>">

<td><font face="Arial" size="2">
 <% response.write x_ocfname %>&nbsp;
</font></td>
<td><font face="Arial" size="2">
 <% response.write x_oclname %>&nbsp;
</font></td>

</tr>

<%
 
 rs.MoveNext
 Loop
%>

</Table>
<br>
<%
' 记录效果的反馈
Response.write "找到的记录数: " &totalRecs
Response.write "</font>"
Response.write "</br>"
Response.write "<br>"
%>
<%
' 关闭记录集和连接
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing %>

<Table leftmargin='0' bordercolor="#111111" width="100%" cellspacing="0" style="border-collapse: collapse" cellpadding="0">
  <tr>
    <td width="100%" bgcolor="#888C00" bordercolor="#888C00">&nbsp;</td>
  </tr>
  <tr>
    <td width="100%" bordercolor="#D8DC98" bgcolor="#D8DC98">&nbsp;</td>
  </tr>
</Table>

</body>
</html>

© . All rights reserved.