日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

ASP 3.0高級(jí)編程(三十九)_ASP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:ASP中實(shí)現(xiàn)從dbf數(shù)據(jù)庫導(dǎo)出數(shù)據(jù)到sql表
說明:dbf數(shù)據(jù)庫結(jié)構(gòu)要與sql表一致 以下為引用的內(nèi)容: <% Dim conndbf_dbf,Driver_dbf,SourceType_dbf,DBPath_dbf dim Conn_

8.4.3 創(chuàng)建記錄集
創(chuàng)建一個(gè)記錄集十分容易,通過調(diào)用Recordset對(duì)象的Open方法來實(shí)現(xiàn):
Recordset.Open [Source], [ActiveConnection], [CursorType], [LockType], [Options]
其參數(shù)及說明如表8-3所示:
表8-3 Open方法的參數(shù)及說明
參 數(shù)
說 明

Source
數(shù)據(jù)源�?梢允菙�(shù)據(jù)庫中的表名、存儲(chǔ)的查詢或過程、SQL字符串、Command對(duì)象或適用于提供者的其他命令對(duì)象

ActiveConnection
記錄集使用的連接。可以是一個(gè)連接字符串或者一個(gè)打開的Connection對(duì)象

CursorType
使用的光標(biāo)類型。必須是定義的光標(biāo)類型中的一種,缺省值為adForwardOnly

LockType
使用的鎖定類型。必須是定義的鎖定類型中的一種,缺省值為adLockReadOnly

Options
告訴提供者Source參數(shù)的內(nèi)容是什么,如表、文本字符串等等

例如,要打開數(shù)據(jù)庫pubs中authors表上的記錄集:
Dim rsAuthors

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

rsAuthors.Open "authors", strConn

' Do something here

rsAuthors.Close
Set rsAuthors = Nothing
注意,有幾個(gè)參數(shù)沒有指定。實(shí)際上,所有的參數(shù)都是可選的,可以在打開記錄集之前為它們?cè)O(shè)置相應(yīng)的屬性值:
Dim rsAuthors

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

With rsAuthors
.Source = "authors"
.ActiveConnection = strConn
.CursorType = adOpenForwardOnly
.LockType = adLockReadOnly
.Open
End With

' Do something here

rsAuthors.Close
Set rsAuthors = Nothing
一旦打開記錄集,當(dāng)前指針自動(dòng)地位于第一條記錄上。如果在記錄集中沒有記錄,那么EOF和BOF屬性都是True:
rsAuthors.Open "authors", strConn

If rsAuthors.BOF and rsAuthors.EOF Then
' Recordset is empty
End If
1. Options參數(shù)
Open方法的Options參數(shù)允許指定命令文本內(nèi)容。它可以是以下CommandTypeEnum常數(shù)之一:
· adCmdText:文本命令,比如SQL字符串。
· adCmdTable:表名。
· adCmdStoredProc:存儲(chǔ)過程名。
· adCmdFile:保存的記錄集的文件名。
· adCmdTableDirect:表名。
· adCmdURLBind:URL地址。
adCmdTable與adCmdTableDirect的區(qū)別很小,如果想使用表中的全部列,使用adCmdTableDirect將由于ADO執(zhí)行了某些內(nèi)部?jī)?yōu)化而使運(yùn)行速度變得稍快一些。
如果沒有指定命令的類型,ADO必須推算出執(zhí)行的命令的類型,這將導(dǎo)致額外的開銷。
這里還有兩個(gè)選項(xiàng):adCmdUnspecified表示沒有指定類型;adCmdUnknow表示命令的類型未知。一般地可能不會(huì)使用它們。
額外的選項(xiàng)
Options參數(shù)可以是以上常數(shù)中的任一個(gè),但也可以加入下列ExecuteOptionEnum常數(shù):
· adAsyncExcute:異步地執(zhí)行命令。
· adAsyncFetch:取得初始的行集后,異步地獲取剩下的行。
· adAsyncFetchBlocking:除了獲取記錄不阻止命令運(yùn)行以外,其他與adAsyncFetch相似。
· adExechteNoRecords:命令不返回任何記錄。
異步處理意味著在后臺(tái)執(zhí)行操作,可以運(yùn)行命令,然后繼續(xù)其他工作,而不需要等待其執(zhí)行完畢(同步操作)。當(dāng)創(chuàng)建用戶界面時(shí),這顯得特別方便,因?yàn)榭梢詮拿顖?zhí)行中返回,向用戶顯示一些內(nèi)容,而同時(shí)數(shù)據(jù)的獲取仍然在后臺(tái)進(jìn)行。當(dāng)返回記錄集時(shí),這對(duì)ASP程序員來說不是很有用,因?yàn)槟_本語言不支持ADO事件,所以記錄集何時(shí)已完成填充移無法得知。當(dāng)處理更新、刪除或插入數(shù)據(jù)命令以及不返回記錄集的時(shí)候,可以使用異步操作,即僅在不關(guān)心結(jié)果的情況下才能使用。
在另一方面,adExecuteNoRecords選項(xiàng)十分有用。它告訴ADO執(zhí)行的命令不返回任何數(shù)據(jù)。所以,就沒有必要?jiǎng)?chuàng)建記錄集(總之,可能為空)。這會(huì)加速正在運(yùn)行的更新或添加數(shù)據(jù)的查詢操作。
為了加入這些選項(xiàng)之一,可以使用Or符號(hào)(等同于加號(hào)“ ”)
adCmdStoredProc Or adExecuteNoRecords

adCmdStoreProc adExecuteNoRecords
在下一章,將看到對(duì)相關(guān)內(nèi)容更詳細(xì)的介紹,因?yàn)檫@在處理命令(而不是記錄集)時(shí)會(huì)更有用。
2. 在記錄集中移動(dòng)
一旦打開一個(gè)記錄集,經(jīng)常需要遍歷每一條記錄。這需要使用EOF屬性。當(dāng)?shù)竭_(dá)記錄集的末尾時(shí),EOF就變?yōu)門rue,因?yàn)榭梢赃@樣創(chuàng)建一個(gè)循環(huán):
rsAuthors.Open "authors", strConn

While Not rsAuthors.EOF
Response.Write rsAuthors("au_lname:) & ", " & _
rsAuthors("au_fname") & "<BR>"
rsAuthors.MoveNext
Wend
上面的例子一直循環(huán)到EOF屬性為True時(shí)才退出。MoveNext方法用于移到下一條記錄。
如果記錄集允許向后移動(dòng),則可以使用MovePrevious方法。在這種情況下,循環(huán)中需要檢測(cè)BOF屬性值。另外分別還有移動(dòng)到第一條和最后一條記錄的MoveFirst和MoveLast方法:
rsAuthors.Open "authors", strConn, adOpenDynamic
' Now on first record

rsAuthors.MoveLast
' Now on last record
rsAuthors.MovePrevious
rsAuthors.MovePrevious
' Now three rows from the end of the recordset

rsAuthors.MoveFirst
' Back at the beginning again
3. 使用Fields集合
Fields集合包含記錄集中每一字段(列)的Fields對(duì)象。Fields集合是記錄集的缺省集合,因此在訪問字段時(shí)可以省略,就如同上面的While...Wend例子中的情況。因此,有多種訪問字段的方法:
rsAuthors.Fields("au_lname").Value
rsAuthors("au_lname).Value
rsAuthors(1).Value
rsAuthors.Fields(1).Value
可以使用字段名,或使用它在集合中的位

分享:ASP實(shí)現(xiàn)在提交表單到數(shù)據(jù)庫的同時(shí)發(fā)郵件通知
以下為引用的內(nèi)容: <% dim objCDOMail Set objCDOMail = Server.CreateObject("CDONTS.NewMail") objCDOMail.From ="xxx@h

來源:模板無憂//所屬分類:ASP教程/更新時(shí)間:2008-08-22
相關(guān)ASP教程