2025年06月15日/ 浏览 1
假设我们有一个数据库表 articles
,它包含以下字段:id
, title
, keywords
, description
, content
。
首先,创建一个ASP文件,比如叫 paginator.asp
。
“`asp
<%
Dim conn, rs, pageSize, pageNum, totalPages, startRecord
‘ 数据库连接信息(请根据实际情况替换)
Dim dbPath, dbUser, dbPassword, dbName
dbPath = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=yourdatabasepath.mdb”
dbUser = “admin”
dbPassword = “yourpassword”
dbName = “yourdatabase_name”
‘ 连接数据库
Set conn = Server.CreateObject(“ADODB.Connection”)
conn.Open “DSN=” & dbName & “;” & “UserID=” & dbUser & “;” & “Password=” & dbPassword & “;” & dbPath
‘ 分页参数设置(每页显示10条记录)
pageSize = 10
pageNum = Request.QueryString(“page”) ‘ 获取当前页码,默认为1
If IsNull(pageNum) Or pageNum = “” Then pageNum = 1
totalPages = Ceil(RS(“count”) / pageSize) ‘ 计算总页数,这里假设有一个RS(“count”)查询来获取总记录数,实际应用中需要按实际情况替换为SQL查询的Count(*)结果。
startRecord = (pageNum – 1) * pageSize + 1 ‘ 计算开始记录的索引
‘ SQL查询语句,实际使用时请替换为具体的SQL查询语句和表名、字段名。这里为了简化示例,使用占位符。
Dim sqlQuery
sqlQuery = “SELECT id, title, keywords, description, content FROM articles ORDER BY id DESC LIMIT ?, ?” ‘ SQL分页语句(注意:实际使用时请确保SQL注入安全)
‘ 执行SQL查询,并检查是否成功获取到数据。
Set rs = conn.Execute(sqlQuery, startRecord, pageSize)
If Not rs.EOF Then
Response.Write(“
“) ‘ 显示标题和当前页码
Response.Write(“
“) ‘ 结束每个文章的Markdown格式显示
rs.MoveNext ‘ 移动到下一条记录
Loop
Response.Write(“