国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

說說對象的復制_ASP教程

2024-07-21 02:04:49
字體:
來源:轉載
供稿:網友

推薦:ASP實例:利用緩存提高數據顯示效率
實例演示:先建立一個簡單的數據庫,寫個function讀取一下,寫入一個dim變量temp中:ASP代碼 以下為引用的內容:<% Function DisplayRec

以下為引用的內容:
<%
Dim oConn,oRs
Set oConn = Server.CreateObject("ADODB.Connection")
Set ors = Server.CreateObject("ADODB.RecordSet")
oConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Server.MapPath("db1.mdb")
Session("conn") = oConn
ors.open "select * from t1",Session("conn"),1,1
Response.write(oRs(0))
ors.close
Set ors = Nothing
oConn.close
Set oConn = Nothing
%>

這是網上流傳的把Connection對象保存在Seesion對象中的代碼,注意其中的:Session("conn") = oConn,對象的復制就是這樣子的嗎?下邊我們來驗證一下:

以下為引用的內容:
<%
Dim oConn,oRs
Set oConn = Server.CreateObject("ADODB.Connection")
Set ors = Server.CreateObject("ADODB.RecordSet")
oConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Server.MapPath("db1.mdb")
Session("conn") = oConn
ors.open "select * from t1",Session("conn"),1,1
Response.write(Session("conn").ConnectionString)
ors.close
Set ors = Nothing
oConn.close
Set oConn = Nothing
%>

結果出錯,提示"缺少對象: 'Session(...)'"!這說明對象并沒有復制成功,那Session("conn")是什么類型的呢?我們用TypeName(Session("conn"))來測試下,結果為"String"!出于好奇,我們直接輸出Session("conn")看看:

以下為引用的內容:
<%
Dim oConn,oRs
Set oConn = Server.CreateObject("ADODB.Connection")
Set ors = Server.CreateObject("ADODB.RecordSet")
oConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Server.MapPath("db1.mdb")
Session("conn") = oConn
ors.open "select * from t1",Session("conn"),1,1
Response.write(Session("conn"))
ors.close
Set ors = Nothing
oConn.close
Set oConn = Nothing
%>

結果為:

以下為引用的內容:
Provider=Microsoft.Jet.OLEDB.4.0;Password="";User ID=Admin;Data Source=E:/www/db1.mdb;Mode=Share Deny None;
Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="";
Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global
Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;
Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;
Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False

這不是Connection對象的ConnectionString屬性值嗎?Connection對象默認的屬性為ConnectionString,執行Session("conn") = oConn時只是將Connection對象默認屬性的值賦給Session("conn")。那為什么用在oRs.open "select * from t1",Session("conn"),1,1也能成功呢?查找資料得出RecordSet對象open方法的第二個參數可以為Connection對象,也可以是數據庫連接信息的字符串!Ok了,那在上邊例子中的oConn對象完全是多余的,直接用下邊代碼即可:

以下為引用的內容:
<%
Dim ors
Set ors = Server.CreateObject("ADODB.RecordSet")
Session("conn") = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Server.MapPath("db1.mdb")
ors.open "select * from t1",Session("conn"),1,1
Response.write(oRs(0))
ors.close
Set ors = Nothing
%>

結果無錯。好了,到現在為止還剩下一個問題沒有解決:怎么才是正確的對象復制方法?還是用Set語句:

以下為引用的內容:
<%
Dim oConn,oRs
Set oConn = Server.CreateObject("ADODB.Connection")
Set ors = Server.CreateObject("ADODB.RecordSet")
oConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" Server.MapPath("db1.mdb")
Set Session("conn") = oConn
ors.open "select * from t1",Session("conn"),1,1
Response.write(Session("conn").ConnectionString)
Response.write("<br/>")
Response.write(TypeName(Session("conn")))
ors.close
Set ors = Nothing
oConn.close
Set oConn = Nothing
%>

這次能顯示出ConnectionString屬性的信息了,結果也顯示Session("conn")為Connection對象!

原文:http://www.mzwu.com/article.asp?id=1105

分享:Windows 2003 安裝設置iis
安裝篇2003默認安裝不帶IIS的,要安裝,請點擊開始->管理工具->配置您的服務器向導然后一步步的下一步。到了列表選擇項目的時候。從列表中選擇應用服務器(IIS,ASP.NET)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武穴市| 本溪市| 彭山县| 麻阳| 武胜县| 洮南市| 中阳县| 尼勒克县| 拉萨市| 全南县| 新巴尔虎右旗| 翁牛特旗| 平阳县| 大渡口区| 新建县| 芜湖县| 婺源县| 南丰县| 南乐县| 佛山市| 惠安县| 盱眙县| 古交市| 巨鹿县| 平武县| 庐江县| 洛川县| 蒙阴县| 南川市| 大埔县| 克东县| 兴海县| 承德县| 垫江县| 尚义县| 徐闻县| 凤翔县| 龙游县| 黎平县| 大丰市| 固始县|