麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ADO如何善用RecordSet組件呢?

2019-11-18 22:06:27
字體:
供稿:網(wǎng)友
為了善用RecordSet物件,RecordSet物件還有許多有用的屬性和方法,讓我們再學(xué)學(xué):

Filter屬性:於ReecordSet設(shè)定搜尋過濾的條件,只顯示合乎條件的資料。
Clone方法:複製一份RecordSet。
CacheSize屬性:設(shè)定或得知RecordSet暫存(cache)於記憶體的的記錄筆數(shù)。
Filter屬性

經(jīng)由SELECT等指令將查詢存放到RecordSet的記錄,仍然可以於RecordSet中再設(shè)定搜尋過濾的條件,方法為使用Filter屬性。

Filter屬性,於ReecordSet設(shè)定搜尋的過濾條件,只顯示合乎條件的資料。

讓我們看一個於asp程式碼當(dāng)中使用Filter屬性的例子。

譬如ASP程式碼rs19.asp如下,F(xiàn)ilter設(shè)定為rs2.Filter = "出版='松崗'",表示只要搜尋 [出版] 欄位為 [松崗] 的記錄:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

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

SqlStr = "SELECT * From 著作"

rs2.Open SqlStr,conn1,1,1

rs2.Filter = "出版='松崗'"

%>

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>

<TR>

<TD ALIGN=CENTER BGCOLOR="#008080"><FONT COLOR="#FFFFFF">書名</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#008080"><FONT COLOR="#FFFFFF">出版</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#008080"><FONT COLOR="#FFFFFF">圖片</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#008080"><FONT COLOR="#FFFFFF">簡介</FONT></TD>

<% Do while not rs2.EOF %>

<TR>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("書名") %></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("出版") %></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("圖片") %></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs2("簡介") %></TD>

</TR>

<% rs2.MoveNext %>

<% Loop %>

</TABLE>

<% rs2.Close %>

以上的 ASP程式碼rs19.asp,於用戶端使用瀏覽器,瀏覽執(zhí)行的結(jié)果,顯示過濾後的結(jié)果,只顯示合乎條件的資料。

CacheSize屬性

CacheSize屬性,設(shè)定或得知RecordSet暫存(cache)於記憶體的的記錄筆數(shù),預(yù)設(shè)值為1。

譬如您若將CacheSize設(shè)定為10時,ADO首先將前10筆的記錄暫存(cache)放到本機(jī)記憶體緩衝器(local memory buffer)當(dāng)中,一旦您移動到最末的第10筆記錄時,ADO暫存(cache)第二個10筆記錄。

若要更新暫存(cache)的記錄,可使用Resync方法。

讓我們看一個於ASP程式碼當(dāng)中使用CacheSize的例子。

譬如ASP程式碼rs18.asp如下,這個例子將產(chǎn)品資料表的資料由第一筆逐一移動到最末筆,總計(jì)循環(huán)做了100次,計(jì)算總共花了多少時間,比較有和沒有設(shè)定CacheSize的執(zhí)行效能差別:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

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

SqlStr = "SELECT * From 產(chǎn)品"

rs2.Open SqlStr,conn1,1,1

t1 = Timer

For i = 1 to 100

rs2.MoveFirst

Do while not rs2.EOF

A = rs2(0)

rs2.MoveNext

Loop

Next

t2 = Timer

Response.Write "<BR>無設(shè)CacheSize: " & CINT(t2 - t1)

rs2.MoveFirst

rs2.CacheSize = 10

t2 = Timer

For i = 1 to 100

rs2.MoveFirst

Do while not rs2.EOF

A = rs2(0)

rs2.MoveNext

Loop

Next

t2 = Timer

Response.Write "<BR>有設(shè)CacheSize: " & CINT(t2 - t1)

%>

<% rs2.Close %>

由本例,未設(shè)定CacheSize,花了6秒時間就完成。將CacheSize設(shè)定為10時,反而花了9秒時間才完成。可見CacheSize須小心使用,否則將影響執(zhí)行的效能。

Clone方法

Clone方法,複製一份RecordSet。

有時候想處理一下RecordSet,譬如使用如上的Filter屬性,於ReecordSet設(shè)定搜尋的過濾條件,RecordSet就被變更,此時若又想保留原RecordSet時,就可以使用Clone方法,先複製一份RecordSet,再處理複製的那一份。

讓我們看一個於ASP程式碼當(dāng)中使用Clone的例子。

譬如ASP程式碼rs12.asp如下,使用Set rs1 = rs.Clone將rs 的RecordSet複製一份到rs1的RecordSet當(dāng)中:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

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

SqlStr = "SELECT * FROM 著作"

rs.Open SqlStr,conn1,1,1

Set rs1 = rs.Clone

%>

<Center>

<TABLE COLSPAN=8 CELLPADDING=5 BORDER=0>

<TR>

<TD ALIGN=CENTER BGCOLOR="#008080"><FONT COLOR="#FFFFFF">書名</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#008080"><FONT COLOR="#FFFFFF">出版</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#008080"><FONT COLOR="#FFFFFF">圖片</FONT></TD>

<TD ALIGN=CENTER BGCOLOR="#008080"><FONT COLOR="#FFFFFF">簡介</FONT></TD>

</TR>

<%

Do While Not rs1.EOF

%>

<TR>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs1("書名")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs1("出版")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs1("圖片")%></TD>

<TD BGCOLOR="f7efde" ALIGN=CENTER><%= rs1("簡介")%></TD>

</TR>

<% rs1.MoveNext

Loop

rs1.Close %>

</TABLE>

以上的 ASP程式碼rs12.asp,於用戶端使用瀏覽器,瀏覽執(zhí)行的結(jié)果,顯示經(jīng)過複製的那一份rs1的RecordSet。

DSN data source

當(dāng)我們想得知DSN data source的詳細(xì)資訊時,可以直接將連線顯示出來。

讓我們看一個於ASP程式碼當(dāng)中得知DSN data source詳細(xì)資訊的例子。

譬如ASP程式碼rs11.asp如下:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "DBQ="& Server.MapPath("ntopsamp.mdb") &";Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;"

Response.Write(conn1)

%>

以上的 ASP程式碼rs11.asp,於用戶端使用瀏覽器,瀏覽執(zhí)行的結(jié)果,使用Response.Write(conn1),即可顯示DSN data source的詳細(xì)資訊。

OpenSchema

OpenSchema方法,可得知SQL Server某一個資料庫的資料表資訊。

讓我們看一個於ASP程式碼當(dāng)中使用OpenSchema的例子,請先安裝本書所附「網(wǎng)站熱門應(yīng)用精選」光碟片,以便自動於SQL Server建立comPak資料庫。

譬如ASP程式碼rs30.asp如下:

<%

Set conn1 = Server.CreateObject("ADODB.Connection")

conn1.Open "driver={SQL Server};server=(Local);uid=sa;pwd=;database=comPak"

set rs = conn1.OpenSchema(20) 'adSchemaTables

Do while not rs.EOF

Response.Write "<BR>" & rs("TABLE_NAME") & ": " & rs("TABLE_TYPE")

rs.MoveNext

Loop

%>

以上的 ASP程式碼rs30.asp,於用戶端使用瀏覽器,瀏覽執(zhí)行的結(jié)果,由set rs = conn1.OpenSchema(20) 取得SQL Server 的comPak資料庫的資料表資訊,其中rs("TABLE_NAME")取得資料表名稱,rs("TABLE_TYPE")取得資料表類型。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 黄色毛片一级 | 在线观看国产一区二区三区 | 女18一级大黄毛片免费女人 | 日韩视频一区在线 | 毛片免费视频观看 | 国产一区二区欧美精品 | 久久国产乱子伦精品 | 欧美日本一 | 国产精品久久久久久久久久久天堂 | 久久久久久久一区 | 免费国产网站 | 免费观看视频网站 | 午夜免费网 | 成人免费观看av | 亚洲精品久久久久久久久久 | 免费毛片电影 | 欧美一级高清免费 | av视在线| 国产xxxxx在线观看 | 欧美精品久久久久久久久久 | 久久成人福利 | av免费在线观看av | 国产亚洲网 | 国内精品久久久久久久久久 | 国产一区网址 | 99sesese| 国产在线精品一区二区夜色 | 欧美精品一区二区中文字幕 | 欧美成人一区二区视频 | 免费看黄色一级大片 | 免费一级毛片在线播放视频 | www.成人在线 | www.48xx.com| 成人性生活视频在线观看 | 精国产品一区二区三区 | 毛片网站视频 | 久久精品中文 | 日韩视频一区二区三区四区 | 欧美综合在线观看视频 | 九九热精 | h视频免费看 |