asp如(rú)何和access數據庫連接?
您的網站是否(fǒu)仍一如既往地保持“靜態(tài)”?目前呈幾何增長的互聯(lián)網網站(zhàn)中,有相當一部(bù)分仍固守(shǒu)“靜態”,無形(xíng)中已大大(dà)落後(hòu)於時代的步(bù)伐。所謂“靜態”指的(de)就是(shì)網站的網頁內容“固(gù)定不變(biàn)”,當用戶瀏覽器通過互聯網的(de)HTTP協(xié)議向WEB服務器(qì)請求提供網頁內容時,服務(wù)器僅僅是將原已設計好(hǎo)的靜態(tài)HTML文檔傳(chuán)送給用戶瀏覽器。其(qí)頁麵(miàn)的內容使用(yòng)的僅僅是標準的(de)HTML代碼,最多再加上流行的GIF89A格式的動態圖片,比如產生幾隻(zhī)小(xiǎo)狗小貓跑來跑去的動畫(huà)效果。若網站維護(hù)者(zhě)要更新網頁的內容,就必須手(shǒu)動地來更新其所有的HTML文(wén)檔。
“靜態”網站的致命弱點就(jiù)是不易維護,為了不斷更新(xīn)網頁內容,你必須(xū)不斷地(dì)重複製作HTML文檔,隨(suí)著網站(zhàn)內容(róng)和信息(xī)量的日益擴增(zēng),你就會感到工作(zuò)量大得出乎想象。
一般來說,一個真(zhēn)正的、完整的站點是離不開數(shù)據庫的,因為實際應用(yòng)中,需(xū)要保存的(de)數據很多,而且這些數據(jù)之間往往還有(yǒu)關聯,利用數據庫來(lái)管理(lǐ)這些數據,可(kě)以很方便的查詢和更新。數據庫有很多種,如:Fox 數(shù)據(jù)庫(.dbf)、Access 數據庫(.mdb)、Informix、Oracle 和 SQL Server 等(děng)等,在這裏,我將(jiāng)日前(qián)整理好的ASP是如何訪(fǎng)問Access數據庫的資料拿出來(lái)和(hé)大家(jiā)分享一下(xià)。
常用數據庫(kù)語(yǔ)句
1.SELECT 語句:命令數據庫(kù)引擎從數據庫裏(lǐ)返回信(xìn)息,作為一組記錄。
2.INSERT INTO 語句:添(tiān)加一個或多個記錄至一個表。
3.UPDATE 語句:創建更新查詢來改變基於特定準(zhǔn)則(zé)的指定(dìng)表中的字(zì)段值。
4.DELETE 語(yǔ)句:創建一個刪除查詢把記錄從(cóng) FROM 子句列出並符(fú)合 WHERE 子句的(de)一個(gè)或更多的(de)表中清除。
5.EXECUTE 語(yǔ)句:用於激(jī)活 PROCEDURE(過程)
用(yòng) ASP 來做一個自己的通訊錄練練手吧……
一、建立數據庫:
用 Microsoft Access 建立一個名為 data.mdb 的空數據庫,使用設(shè)計器創建一個新表。輸入以下幾個(gè)字段:
字段名稱 數據類型 說(shuō)明 其它(tā)
ID 自動編號 數據標識 字段大小(xiǎo):長整(zhěng)型 新值:遞(dì)增 索引:有(無(wú)重複(fù))
username 文本 姓名 缺省值
usermail 文本(běn) E-mail 缺省(shěng)值
view 數字(zì) 查看次數(shù) 字段大小:長整(zhěng)型 默認值:0 索引:無
indate 時間日期 加入時間 缺省值
保存為 data.mdb 文件,為了便於說明,隻是做了一個比較簡單的庫。
二、連接數(shù)據(jù)庫
方法(fǎ)1:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
方法(fǎ)2:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")
注意(yì):一個(gè)頁(yè)麵中(zhōng),隻要連接一次就可以(yǐ)了,數(shù)據庫(kù)使用完後要及時關閉連接。
conn.Close
Set conn = Nothing
三、添(tiān)加新記錄到數據庫
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
username = "風雲突(tū)變"
usermail = "ec0705liujuan@163.com"
indate = Now()
sql = "insert into data (username,usermail,indata) values('"&username&"','"&usermail&"','"&indate&"')"
conn.Execute(sql)
conn.Close
Set conn = Nothing
說(shuō)明:建立數(shù)據庫連(lián)接;通過表單獲取(qǔ)姓名、E-mail 字符串,Now()獲取(qǔ)當(dāng)前時(shí)間日期;使用 insert into 語句(jù)添加新記錄;conn.Execute 來執(zhí)行;最後關(guān)閉。
四(sì)、選擇數據庫裏的(de)記錄
1.選擇(zé)所有記錄的字段(按記錄倒序排序):sql = "select * from data order by ID desc"
2.選(xuǎn)擇所有記(jì)錄的姓名和E-mail字段(不(bú)排序):sql = "select username,usermail from data"
3.選擇姓名為“風雲突(tū)變”的所(suǒ)有記錄:sql = "select * from data where username='"風雲突變"'"
4.選擇使(shǐ)用 163 信(xìn)箱的所(suǒ)有(yǒu)記錄(按查看(kàn)次數(shù)排序):sql = "select * from data where usermail like '%"@163.com"%' order by view desc"
5.選(xuǎn)擇最新的(de)10個記錄:sql = "select top 10 * from data order by ID desc"
SQL 語句已(yǐ)經知道了,不(bú)過在Web應用(yòng)時,還得創建(jiàn)一個 RecordSet 對象(xiàng)得到記錄集(jí),才(cái)能把從數(shù)據庫裏取出的值應用在網頁上,如果(guǒ)現在(zài)將所有的記錄顯示在網頁上就這樣:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
sql = "select * from data"
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,1
Do While Not rs.Eof
Response.Write "<p>姓名:"& rs("username") &" E-mail:"& rs("usermail") &" 查看:"& rs("view") &"次 "& rs("indate") &"加入</p>"
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
說明:建立數據庫連接;創建 rs 得到記錄(lù)集;循環顯示記錄,rs.Eof 表示記錄末,rs.MoveNext 表示移到下一個記錄;最後關閉。
五、修(xiū)改(更新)數據庫記(jì)錄
修改記錄的E-mail:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
ID = 1
usermail = "ec0705liujuan@163.com"
sql = "update data set usermail='"&usermail&"' where ID="&CInt(ID)
conn.Execute(sql)
conn.Close
Set conn = Nothing
說明:建立數據庫連接;獲取記錄ID、新(xīn) E-mail 字符串;使用 update 語句修改記錄;conn.Execute 來執行;最後關閉。
如果使記錄的查看(kàn)值(zhí)加1,則:sql = "update data set view=view+1 where ID="&CInt(ID)
六(liù)、刪除數(shù)據庫記(jì)錄
刪除某(mǒu)一條記錄:
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")
ID = 1
sql = "delete from data where ID="&CInt(ID)
conn.Execute(sql)
conn.Close
Set conn = Nothing
說明:建立數據庫連接;獲取記錄ID;使用
關鍵詞(cí):asp,access,數(shù)據庫
閱讀本文後您有什麽感(gǎn)想(xiǎng)? 已有 人給出評價!
- 1
- 1
- 1
- 1
- 1
- 1