講一講ASP處理資料用的組件ADO (ActiveX Data Object)

來源:互聯網
上載者:User
active|activex|ado|object|資料 講一講ASP處理資料用的組件ADO (ActiveX Data Object)
一、 字串形式串連一個 Access庫

<%

set conn=server.createobject("ADODB.CONNECTION")

path=server.MapPath("info.mdb")

conn.open "provider=microsoft.jet.oledb.4.0; data source="&path&""

%>

set conn=server.CreateObject ("adodb.connection") 這是建立一個Connection

屬性的對象conn的代碼 很簡單吧!^_^

path=server.MapPath("info.mdb") 用asp帶的server對象的MapPatch方法返回

info.mdb的絕對路徑。

conn.open "provider=microsoft.jet.oledb.4.0; data source="&path

用conn.對象的open方法建立一個對Access資料庫的串連

provider=microsoft.jet.oledb.4.0 就代表串連的是一個Access串連 而後邊的

data source="&path 指定了要串連的資料庫的絕對路徑。:·)


二、字串形式串連一個Sql Server庫

<%

set conn=server.CreateObject ("adodb.connection")

conn.Open "driver={SQL

Server};server=localhost;UID=username;PWD=password;database=dataname"

%>

看上邊這段代碼。

set conn=server.CreateObject ("adodb.connection") 上邊講過了 是建立一個

connections的對象:-)

現在我們用這個對象開啟一個資料庫連接

conn.Open "driver={SQL

Server};server=localhost;UID=username;PWD=password;database=dataname"

conn的open方法是開啟一個串連用的 後邊根一個字串 driver={SQL Server}的

意思是串連的是一個sql server的庫,server=localhost 中的localhost代表的是

原生IP 當然 你的資料庫伺服器IP是多少這裡就改成相應的

值;UID=username;PWD=password;這兩個是你登陸你的資料庫伺服器的使用者名稱跟密

碼。下邊一個database=dataname 就是你要*作的資料庫的名字了 :-} 至此 你已

經成功的建立一個SQL Server的串連了。




串連建立了,但是要使用recordset屬性的對象做資料處理我們還需要一點知識,

那就是T-SQL語言 我們必須用T-SQL選擇一個記錄集傳送給recordset屬性 下邊我

給大家講一條簡單的sql語句 方便大家實踐中使用。看下邊這個例子: Select *

from tablename where uid=’Coolshow’

Select 後邊緊跟著一個*,*是萬用字元 代表選擇表中的所有欄位 也可以指定一個

或一個以上的欄位 比如這樣寫 Select uid只開啟一個uid欄位,或者Select

uid,pwd,sex,tel,address同時開啟uid,pwd,sex,tel,address五個欄位。 後邊

from tablename 是開啟那個表,這裡有幾種用法,由於相對複雜一點,而且我們

的重點不是在這裡 所以在這裡就不多說了,如果有什麼疑問大家可以給編輯寫信

讓他要求我在寫一篇關於T-SQL的 :-) 再往後看,where uid=’Coolshow’ 這句

話的意思是選取所有符合 uid欄位的值等於字串Coolshow的記錄集,也可以用

and 來串連多個條件,這裡也不詳細講述了 :)


好了,兩個主流資料庫我們都串連上了,T-SQL語言你也能簡單的使用了,下邊該

講一下如何利用recordset屬性讀取資料了。


首先讓我們來建立一個recordset屬性的對象

set rs=server.CreateObject ("ADODB.Recordset")


很簡單的一段代碼 利用了asp內建的server對象的CreateObject方法建立了一個

Recordset屬性的對象,大家會發現這段代碼跟前邊建立串連的那個對象的代碼差

不多 沒錯,asp建立對象都是這個樣子的 :)現在讓我們用Recordset的對象rs來

開啟一個記錄集。


Rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,1 看看

這句是不是很容易懂 用我們剛剛建立的Recordset屬性的對象RS的open方法開啟一

個記錄集,後邊跟了三個參數用逗號分開,第一個參數不用講了,就是選取資料用

的T-sql語句第二個那:_) 就是我們已經建立好串連的connection屬性的對象conn

後邊兩個參數說法比較多,我在這裡簡單的給大家講一下,如果唯讀取資料 設

置”1,1”就足夠了,如果要添加資料,設定”1,2”如果要改寫資料最好設定”

2,3”。這兩個參數一定要切記不然在將來的編程中會給你帶來不少的麻煩,看著

sql語句沒錯,對象用法也沒錯,資料庫表結構也沒錯,為什麼就oledb錯誤哪?問

題往往就出在這,檢查一下你這兩個參數 是夠給足了rs對象許可權讓他做你要他做

的事情。好了,兩對象(object)我們都搞完了 ^^ 現在讓我們進入處理資料的具

體實踐中。


一、 顯示資料

別用如饑似渴的眼神看著我,猴急什麼~:) 嘿~ 調節一下氣氛.下面我寫一段代碼

你看看能不能讀懂,要是讀得懂就說明整個ado的使用你已經學會了一半了 :)

<%

set conn=server.CreateObject ("adodb.connection")

conn.Open "driver={SQL

Server};server=localhost;UID=username;PWD=password;database=dataname"

set rs=server.CreateObject ("ADODB.Recordset")

rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,1

%>

好,如果你看懂了,我們就接著來看下一步,ado的資料顯示


<%

set conn=server.CreateObject ("adodb.connection")

conn.Open "driver={SQL

Server};server=localhost;UID=username;PWD=password;database=dataname"

set rs=server.CreateObject ("ADODB.Recordset")

rs.open “Select * from tablename where uid=’Coolshow’”,conn,1,1

if rs.eof and rs.bof then ’如果資料指標同時指到記錄集的頭部根尾部

說明記錄集為空白這時候

response.write “沒有可以顯示的資料” ’列印“沒有可以顯示的資料”

do until rs.EOF ‘迴圈 直到記錄集尾部為止

response.write rs(“欄位1名”) ’顯示一個行的一個欄位

response.write rs(“欄位2名”) ’同上

resp



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。