打印本文 打印本文  关闭窗口 关闭窗口
ASP讲座之八:ASP与数据库(三)
作者:采集员 文章来源:来源于网络 点击数: 更新时间:2005/9/10 12:45:26
log=pubs; Data Source=ICBCZJP"

Set rsTest = Server.CreateObject("ADODB.Recordset")

'检索多个记录集
StrSQL = "Select COUNT(*) AS '雇员数' From employee; Select * From jobs"
rsTest.Open StrSQL, Cnn   ', , ,adCmdText

While Not rsTest Is Nothing
Response.Write "<Table Border = 2><tr>"

'rsTest.Fields.Count - 记录集字段个数
For I = 0 To rsTest.Fields.Count - 1
'rsTest(I).Name - 第 I 个字段的字段名
Response.Write "<td>" & rsTest(I).Name & "</td>"
Next
Response.Write "</tr>"

While Not rsTest.EOF
Response.Write "<tr>"
'用循环输出每一个字段的值
For I = 0 To rsTest.Fields.Count - 1
Response.Write "<td>" & rsTest(I) & "</td>"
Next
Response.Write "</tr>"
rsTest.MoveNext
Wend

'读取下一个Recordset对象
Set rsTest = rsTest.NextRecordset
Wend

Cnn.Close
Set rsTest = Nothing: Set Cnn = Nothing
%>
说明:SQL Server数据库支持多个记录集,而Access数据库不支持。

五、 尽早关闭连接,释放资源
    在以往的例子中,都是最后关闭连接,然而Connection对象要占用资源,事实上,按下面wuf65.asp所提供的方法,完全可以更早一点关闭连接。
<% @LANGUAGE = VBScript %>
<!--#include file="AdoAccess.asp"-->
<!--#include file="adovbs.inc"-->
<% ' wuf65.asp
Dim StrSQL, rsTest

StrSQL = "Select * From 运货商"
Set rsTest = server.CreateObject("ADODB.Recordset")
'一定要使用客户端游标, 否则不行
rsTest.CursorLocation = adUseClient
rsTest.Open StrSQL,Cnn,,,adCmdText

'删除记录集对 Connection 对象的依赖
Set rsTest.ActiveConnection = Nothing
'尽可能早的关闭连接
Cnn.close: Set Cnn = Nothing

Do While Not rsTest.EOF    
Response.Write rsTest(0) & "  "  & rsTest(1) & "  "  & rsTest(2) & "  "  & "<BR>"
    rsTest.MoveNext       
Loop

Set rsTest = Nothing
%>

上一页  [1] [2] 



打印本文 打印本文  关闭窗口 关闭窗口