直播中
下面看一個例子
Set conn=Server.CreateObject("ADODB.Connection")
conn.CursorLocation=adUseClient
strConn ="driver={SQL Server};server=srv;"& _
"uid=sa;pwd=;database=pubs"
conn.open strConn
set rs= Server.CreateObject("ADODB.RecordSet")
rs.open "emloyee",conn,,,adCmdTable
采用次種方式則conn與rs的游標均為adUseClient了。
2、 ConnectionString,在打開一個Connection實例之前設定數(shù)據(jù)庫的連接信息。在上面的例子中我們使用了一條語句conn.open strConn,其中的strConn就是ConnectionString,因此我們可以重寫上面的語句如下:
Conn.ConnectionString=strConn
Conn.open
3、 ConnectionTimeOut,設置連接超時。
4、 CommandTimeOut,設置命令執(zhí)行超時。
Connection的主要方法
1、 open,打開一個Connection的對象實例,常用的寫法為conn.open ConnectionString,如果在打開之前已經(jīng)定義了ConnectionString屬性的話,就可以直接的打開。
2、 Execute,產(chǎn)生一個RecordSet實例,常用的寫法為
Rs=conn.Excute CommandText,RecordsAffected,Option
其中的CommandText可以為以下的幾種形式,主要由Option的值來決定1) SQL語句,此時Option的值為adCmdText,表示將執(zhí)行一段SQL語句。2)數(shù)據(jù)庫的一個表名,此時Option的值為adCmdTable,表示將對該表進行操作。
3、一個StoredProcedure名字,此時Option取值為adCmdStoredProc,它表示將要執(zhí)行一個SQL上定義的存儲過程。這是一個非常靈活而強大的方法,它可以對用戶隱藏數(shù)據(jù)庫的具體信息,而只需用戶提供適當?shù)膮?shù)就可以了,還能返還需要的參數(shù)值。在后面介紹Command對象時再做詳細的介紹。值得注意的是,有時Excute后并不需要返回一個RecordSet對象,例如在表中刪除記錄??聪旅娴睦樱?BR>set conn= Server.CreateObject("ADODB.Connection")
conn.ConnectionString="driver={SQL Server};server=srv;"& _
"uid=sa;pwd=;database=pubs"
conn.open
conn.Execute "Delect From Employee Where Job_ID=1;",,adCmdText
該例子刪除Employee表中Job_ID為1的記錄,并不需要再返回一個RecordSet的實例,但如果將最后一句變?yōu)閞s= conn.Execute "Delect From Employee Where Job_ID=1;",,adCmdText那么我們就可以用此rs來指向表中的記錄條了。返回的rs和后面RecordSet對象中用Source屬性產(chǎn)生的rs是相同的。
Connection對象的集合
1、 Errors集合,對應產(chǎn)生Error對象。我們將在后面做單獨的討論。
2、 Properties集合,對應產(chǎn)生Property對象,下面給出一段代碼,它包含了Property對象的主要方法和屬性。
<%
"this program is testing the ADO"s Property object
Const adCmdTable = &H0002
set conn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.RecordSet")
conn.ConnectionString="Driver={Microsoft Access Driver (*.mdb)};DBQ="& _
Server.Mappath("/source_asp")&"/property/employee.mdb;"
conn.open
rs.ActiveConnection=conn
rs.open "employee",,,adCmdTable
dim i,j
for i=0 to rs.fields.count-1
Response.Write rs.fields(i).name&"<br>"
next
for j=0 to rs.properties.count-1
Response.write rs.properties(j).name&"<br>"
next
rs.close
conn.close
%>