1 / 29

第 11 章 ADO 元件建立網頁資料庫

第 11 章 ADO 元件建立網頁資料庫. 11-1 網頁資料庫的基礎 11-2 Access 建立資料庫 11-3 建立資料庫連結 11-4 ASP 建立網頁資料庫. 11-1 網頁資料庫的基礎. 11-1-1 資料庫系統 11-1-2 ASP 與資料庫 11-1-3 ADO 元件簡介 11-1-4 如何建立 ASP 網頁資料庫. 11-1-1 資料庫系統. 在電腦計算機科學的應用領域,資料庫才是公司行號或家庭真正電腦化的推手,事實上早期的程式設計師都是靠著接案設計資料庫系統為生。

baruch
Download Presentation

第 11 章 ADO 元件建立網頁資料庫

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第11章 ADO元件建立網頁資料庫 • 11-1 網頁資料庫的基礎 • 11-2 Access建立資料庫 • 11-3 建立資料庫連結 • 11-4 ASP建立網頁資料庫

  2. 11-1 網頁資料庫的基礎 • 11-1-1 資料庫系統 • 11-1-2 ASP與資料庫 • 11-1-3 ADO元件簡介 • 11-1-4 如何建立ASP網頁資料庫

  3. 11-1-1 資料庫系統 • 在電腦計算機科學的應用領域,資料庫才是公司行號或家庭真正電腦化的推手,事實上早期的程式設計師都是靠著接案設計資料庫系統為生。 • 眾多的出勤管理系統、倉庫管理系統、進銷存系統或小至錄影帶店管理系統,這些應用程式系統都屬於不同應用的資料庫系統。

  4. 11-1-2 ASP與資料庫-1 • 轉換到Web舞台的資料庫本質並沒有轉變,仍然是儲存資料以便快速的查詢資訊,只是資料庫的使用介面變成HTML文件。 • 網頁資料庫屬於一種結合前端HTML文件的使用介面,配合後端Web伺服器和資料庫系統的一種全新的應用程式架構。

  5. 11-1-2 ASP與資料庫-2

  6. 11-1-3 ADO元件簡介 • ASP程式存取資料庫是使用「ADO」(ActiveX Data Object)元件。 • ADO元件的目的是存取和編輯資料來源DSN的資料,提供一致的資料處理方式,資料來源並不限於資料庫,也可以是Excel試算表或文字檔。 • ADO元件的目的是存取資料庫記錄,只是將記錄寫入或從資料表取出,至於文件的編排輸出還是使用HTML標籤。

  7. 11-1-4 如何建立ASP網頁資料庫 • ASP建立網頁資料庫的步驟,如下所示: • 建立資料庫,第11-2節使用Access 2000建立所需的資料庫。 • 新增ODBC系統資料來源,在第11-3節分別在Windows 2000/98/SE建立ODBC系統資料來源,並且在ASP程式建立資料連結。 • ASP程式使用ADO元件存取資料庫的內容,啟動瀏覽程式執行與測試網頁資料庫,第11-4節使用ADO元件存取資料庫記錄,建立ASP網頁資料庫。

  8. 11-2 Access建立資料庫 • 11-2-1 Access欄位的資料型態 • 11-2-2 建立空白資料庫 • 11-2-3 開啟存在的資料庫 • 11-2-4 新增資料表 • 11-2-5 新增資料表欄位 • 11-2-6 刪除資料表欄位 • 11-2-7 新增資料表的記錄資料

  9. 11-3 建立資料庫連結 • 11-3-1 資料庫連結的Connection物件 • 11-3-2 建立DSN-less資料庫連結 • 11-3-3 新增ODBC系統資料來源DSN • 11-3-4 建立DSN資料庫連結

  10. 11-3-1 資料庫連結的Connection物件 • 第一步:建立Connection物件 Set objDBConn = Server.CreateObject("ADODB.Connection") • 第二步:開啟ODBC的資料來源 objDBConn.Open DSN_String • 第三步:資料庫操作與查詢 If objDBConn.State = 1 Then Response.Write("<b>目前為開啟狀態</b><br>") Else Response.Write("<b>目前為關閉狀態</b><br>") End If • 第四步:關閉資料庫連結

  11. 11-3-2 建立DSN-less資料庫連結 • DSN-less連結資料庫必須自行提供資料庫的相關資訊,以Access 2000資料庫系統為例,資料庫Books.mdb的DSN-less字串,如下所示: strDSNless = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("Books.mdb") • Access的資料庫也可以使用下列的DNS-less字串,如下所示: strDSNless = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("Books.mdb")

  12. 11-3-3 新增ODBC系統資料來源DSN • ODBC屬於一種標準的資料庫介面,提供各類應用程式一個標準的資料庫存取方式,如下圖所示:

  13. 11-3-4 建立DSN資料庫連結 • 在新增ODBC的DSN系統資料來源後,Connection物件Open方法開啟DSN資料來源的字串,如下所示: strDSN = "Books_list" • 字串是DSN名稱Books_list,如果在新增DSN時設定使用者名稱和密碼,此時的DSN字串,如下所示: strDSN = "DSN=Books_list;uid=hueyan;pwd=1234"

  14. 11-4 ASP建立網頁資料庫 • 11-4-1 Recordset物件的基礎 • 11-4-2 開啟記錄集合 • 11-4-3 取得欄位名稱與內容 • 11-4-4 取得與移動記錄指標 • 11-4-5 表格顯示資料表記錄 • 11-4-6 分頁顯示資料表記錄

  15. 11-4-1 Recordset物件的基礎-1 • Recordset物件屬於ADO元件最重要的物件,從英文名字看來就是「記錄集合」 。 • Recordset物件可以建立一個記錄集合把所需的資料表記錄取出,使用虛擬表格的方式,每一列為一筆記錄,每一欄為一個欄位,提供ASP程式一致的資料處理方式。

  16. 11-4-1 Recordset物件的基礎-2 • Recordset在處理上需注意下列三個事項,如下所示: • 記錄集合表格中記錄指標的移動能力(CursorType)為單向前或前後都可以移動,所謂單向指的是指標不能回頭,記錄指標能夠一筆筆往下移動,但是不能在經過後,回頭讀取已經經過的記錄。 • 資料來源本身的存取能力(LockType),主要是避免兩個人同時寫入同一筆記錄。 • 目前記錄指標的位置,Recordset的MoveFirst方法可以跳到第一筆,MoveLast方法跳到最後一筆,MoveNext方法是下一筆,MovePrevious方法為上一筆。

  17. 11-4-1 Recordset物件的基礎-3 • Recordset物件建立的步驟,如下所示: • 第一步:建立Connection物件開啟資料來源 • 第二步:建立Recordset物件 Set objRS=Server.CreateObject("ADODB.RecordSet") • 第三步:開啟記錄集合取得資料 objRS.Open "Book", objDBConn, adOpenStatic, adLockReadOnly, adCmdTable • 第四步:處理記錄集合的記錄 • 第五步:關閉Recordset物件 • 第六步:關閉資料庫連結

  18. 11-4-2 開啟記錄集合-1 • Recordset物件的Open方法,如下所示: objRS.Open Source, ActiveConnection, CursorType, LockType, Options • Source/Options參數 • ActiveConnection參數 • CursorType參數 • LockType參數

  19. 11-4-2 開啟記錄集合-2 • Source/Options參數:

  20. 11-4-2 開啟記錄集合-3 • ActiveConnection參數: • ActiveConnection參數指定開啟的資料連結,也就是建立的Connection物件。

  21. 11-4-2 開啟記錄集合-4 • CursorType參數:

  22. 11-4-2 開啟記錄集合-5 • LockType參數:

  23. 11-4-3 取得欄位名稱與內容 • 取得記錄集合的欄位數,其程式碼如下所示: intFdCount = objRS.Fields.Count • 程式碼在取得欄位數後,可以依索引取得欄位名稱、值和型態,如下所示: objRS.Fields(intI).Name objRS.Fields(intI).Value objRS.Fields(intI).Type • 程式的索引變數intI以0開始到inFdCount - 1,依序取得欄位資料。

  24. 11-4-4 取得與移動記錄指標-1 • Recordset的相關方法,如下表所示:

  25. 11-4-4 取得與移動記錄指標-2 • 在開啟記錄集合objRS後,我們就可以使用方法移動記錄集合的記錄指標,如下所示: objRS.MoveLast ' 最後一筆 objRS.MoveFirst ' 第一筆 objRS.MoveNext ' 下一筆 objRS.MovePrevious ' 上一筆 • AbsolutePosition屬性馬上跳到指定的記錄,如下所示: objRS.AbsolutePosition = 3 • 程式碼移到第3筆記錄,直接使用欄位名稱顯示該筆記錄的欄位內容,如下所示: objRS("BookID")

  26. 11-4-5 表格顯示資料表記錄 • 在取得資料表的全部記錄後,使用Do While迴路取得資料表的每一筆記錄,如下所示: Do While Not objRS.EOF …… objRS.MoveNext ' 移到下一筆記錄 Loop • 迴路條件為ObjRS.EOF屬性,檢查是否已經到了資料表最後一筆記錄之後,也就是資料表已經沒有記錄。 • 記錄欄位內容使用一個For Next迴路顯示每一個儲存格,如下所示: For intI = 0 To intFdCount ' 取得每個欄位的內容 Response.Write("<td>" & objRS(intI) & "</td>") Next

  27. 11-4-6 分頁顯示資料表記錄-1 • Recordset物件取得的記錄集合本身就是分頁顯示的虛擬表格,只需設定好相關屬性,就可以分頁顯示資料表的記錄,記錄集合分頁的相關屬性,如右圖所示:

  28. 11-4-6 分頁顯示資料表記錄-2 • Recordset物件分頁屬性的說明,如下表所示: • Recordset物件的分頁屬性,如下所示: objRS.PageSize = intPageSize intMaxPageCount = Cint(objRS.PageCount) objRS.AbsolutePage = intPageNo

  29. 11-4-6 分頁顯示資料表記錄-3 • 使用Do Loop迴路顯示分頁的記錄,如下所示: intRecCount = 0 Do While Not objRS.EOF AND intRecCount < objRS.PageSize …. objRS.MoveNext ' 下一筆記錄 intRecCount = intRecCount + 1 Loop

More Related