经典 ASP 时代每个页面都要写一遍连接数据库的样板代码,容易重复也容易漏关连接。把连接与查询封装成公共函数后,业务页面只需传一条 SQL,代码立刻清爽很多。
实现思路
用 ADODB.Connection 建立连接并赋值给全局变量;QueryRs 负责执行只读游标查询并返回记录集;ShowList 内部负责遍历输出与对象释放,调用方无需关心资源回收。
完整代码
<%@ Language="VBScript" CodePage=65001 %>
<%
Option Explicit
Rem 连接串按你的数据库环境修改
Dim conn
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={MySQL ODBC 8.0 Unicode Driver};Server=127.0.0.1;Database=mydb;Uid=root;Pwd=123456;"
Function QueryRs(sql)
Dim rs
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn, 1, 1
Set QueryRs = rs
End Function
Sub ShowList(sql)
Dim rs
Set rs = QueryRs(sql)
Do While Not rs.EOF
Response.Write "<li>" & Server.HTMLEncode(rs("title")) & "</li>"
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
End Sub
ShowList "SELECT title FROM news ORDER BY id DESC LIMIT 10"
conn.Close
Set conn = Nothing
%>要点说明
- 每页用完务必 Close 并把对象置 Nothing,避免连接池耗尽;
- 输出前用 Server.HTMLEncode 转义,防止标题中的引号与尖括号破坏页面;
- 查询串里不要直接拼接用户输入,过滤后再进 SQL。
小结
公共连接模块是经典 ASP 的最佳实践之一,页面只关注业务 SQL,遇到数据库迁移也只需改一个文件。
评论(0)
暂无评论,快来抢沙发吧~