標題標題  顯示論壇會員列表名單  搜索論壇搜索  HelpHelp
  注冊注冊  登入登入
ASP教學區
 DoReMe : ASP教學區
主題 話題: ASP與資料庫應用(給初學者) 回復發表新主題
作者
貼子內容 << Prev Topic下一個主題 >>
bababa
Groupie
Groupie


加入: 2004/5月/29
Online Status: Offline
回復: 46
Posted: 2004/5月/29 3:34下午 | IP記錄 引用 bababa

見最近許多網友詢問一些關於資料庫操作的基礎問題,現把我以前寫的一篇簡單教程貼上來,好讓一些初學者最快的入門:

ASP與資料庫應用(給初學者)

  一般來說,一個真正的、完整的網站是離不開資料庫的,因為實際應用中,需要保存的資料很多,而且這些資料之間往往還有關聯, 利用資料庫來管理這些資料,可以很方便的查詢和更新。資料庫有很多種,如:Fox 資料庫(.dbf)、Access 資料庫(.mdb)、Informix、Oracle 和 SQL Server 等等,在這裡,我將以 Microsoft Access 資料庫為例來說明ASP是如何訪問資料庫的。

常用資料庫語句

  1.SELECT 語句:命令資料庫引擎從資料庫裡返回訊息,作為一組記錄。
  2.INSERT INTO 語句:增加一個或多個記錄至一個表。
  3.UPDATE 語句:創建更新查詢來改變基於特定準則的指定表中的字段值。
  4.DELETE 語句:創建一個刪除查詢把記錄從 FROM 子句列出並符合 WHERE 子句的一個或更多的表中清除。
  5.EXECUTE 語句:用於激活 PROCEDURE(過程)

用 ASP 來做一個自己的通訊錄練練手吧……

一、建立資料庫:

  用 Microsoft Access 建立一個名為 data.mdb 的空資料庫,使用設計器創建一個新表。輸入以下幾個字段:

  字段名稱  資料類型  說明      其它
  ID     自動編號  資料標識    字段大小:長整型 新值:遞增 索引:有(無重複)
  username  文本    姓名      缺省值
  usermail  文本    E-mail     缺省值
  view    數字    查看次數    字段大小:長整型 默認值:0 索引:無
  indate   時間日期  加入時間    缺省值

  保存為 data.mdb 文件,為了便於說明,只是做了一個比較簡單的庫。

二、連接資料庫

  方法1:
  Set conn = Server.CreateObject("ADODB.Connection")
  conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")

  方法2:
  Set conn = Server.CreateObject("ADODB.Connection")
  conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("data.mdb")

  注意:一個網頁中,只要連接一次就可以了,資料庫使用完後要及時關閉連接。
  conn.Close
  Set conn = Nothing

三、增加新記錄到資料庫

  Set conn = Server.CreateObject("ADODB.Connection")
  conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")

  username = "風雲突變"
  usermail = "fytb@163.com"
  indate = Now()

  sql = "insert into data (username,usermail,indata) values('"&username&"','"&usermail&"','"& indate&"')"
  conn.Execute(sql)

  conn.Close
  Set conn = Nothing

  說明:建立資料庫連接;通過表單獲取姓名、E-mail 文字串,Now()獲取目前時間日期;使用 insert into 語句增加新記錄;conn.Execute 來執行;最後關閉。

四、選擇資料庫裡的記錄

  1.選擇所有記錄的字段(按記錄倒序排序):sql = "select * from data order by ID desc"
  2.選擇所有記錄的姓名和E-mail字段(不排序):sql = "select username,usermail from data"
  3.選擇姓名為「風雲突變」的所有記錄:sql = "select * from data where username='"風雲突變"'"
  4.選擇使用 163 信箱的所有記錄(按查看次數排序):sql = "select * from data where usermail like '%"@163.com"%' order by view desc"
  5.選擇最新的10個記錄:sql = "select top 10 * from data order by ID desc"

  SQL 語句已經知道了,不過在Web應用時,還得創建一個 RecordSet 對像得到記錄集,才能把從資料庫裡取出的值應用在網頁上,如果現在將所有的記錄顯示在網頁上就這樣:

  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 得到記錄集;循環顯示記錄,rs.Eof 表示記錄末,rs.MoveNext 表示移到下一個記錄;最後關閉。

五、修改(更新)資料庫記錄

  修改記錄的E-mail:

  Set conn = Server.CreateObject("ADODB.Connection")
  conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("data.mdb")

  ID = 1
  usermail = "fytb@163.com"

  sql = "update data set usermail='"&usermail&"' where ID="&CInt(ID)
  conn.Execute(sql)

  conn.Close
  Set conn = Nothing

  說明:建立資料庫連接;獲取記錄ID、新 E-mail 文字串;使用 update 語句修改記錄;conn.Execute 來執行;最後關閉。
  如果使記錄的查看值加1,則:sql = "update data set view=view+1 where ID="&CInt(ID)

六、刪除資料庫記錄

  刪除某一條記錄:

  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;使用 delete 語句刪除記錄;conn.Execute 來執行;最後關閉。
  刪除多條記錄為:sql = "delete from data where ID in (ID1,ID2,ID3)"
  刪除所有記錄為:sql = "delete from data"

總結:

  以上教程是針對ASP的初學者而寫的,只是介紹了一些基本的用法,在瞭解之後可以自己去試試,重要的在於能舉一反三、綜合運 用。更多的語法和參數請參閱 Microsoft Access 幫助中的 Microsoft Jet SQL 參考,由於本人才疏學淺、能力有限,如有表達不明確有地方還望指出,如果在應用當中遇到什麼問題,也希望能夠提出。謝謝。

Back to Top 查看 bababa's 資料 搜索其他貼子 bababa 訪問 bababa's
 

如果你想回復的話你必須首先 login
如果你還沒有注冊的話你必須首先 注冊

  回復發表新主題
顯示可打印的頁面 顯示可打印的頁面

論壇跳轉
不能 張貼新論題在這個討論版
不能 回應論題在這個討論版
不能 刪除你的發言在這個討論版
不能 編輯你的發言在這個討論版
不能 新增投票標題在這個討論版
不能 在這個討論版投票

Edit by doreme Forums version 2004
Welcome ©2001-2004 doreme Guide

This page was generated in 0.9844 seconds.

 
保養品
保養品, Skin Care
www.elady.tw
Makeups Wholesale
Wholesale Cosmetics SkinCares
lungjyi.com
保養品批發
名牌保養品、保養品批發
www.perfume.com.tw/skincare
Wholesale Perfumes
Fragrances Perfumes Wholesale
lungjyi.net