跳到主要內容
:::
:::

一、連接資料庫的連結字串關鍵字

 

 

Provider

資料庫所對應的LOE DB Provider 之名稱

Data Source

資料庫的完整路徑

Location

連結的伺服器 (Server)名稱

User ID

連結資料庫時所用的User Name

Password

連結資料庫所使用的密碼

File Name

Data Link File(資料連結檔)連結資料庫時所指定的檔名

DSN

使用ODBC  DSN連結資料庫時所指定的DSN名稱

Driver

ODBC驅動程試的名稱

DBQ

ODBC驅動程式的方式連結資料庫時所使用的資料庫檔名

l          設定值須以” ”包起來

l          關鍵字和設定值之間用等號(=)連接,且=前後不加空白

l          幾個「關鍵字=設定值」串接時須使用分號(;)

l          設定值太長時可分行,用「 -」,「 -」之前須空一個以上的字元。第二行須用字串連接運算子「&」連接

連結字串=”Provider=Microsoft.Jet.OLEDB.4.0;”  -

                & “Data Source=..\aspdb\Book.mdb”

 

二、製作ADO物件的方法

        <% Set 變數名稱=Server.CreateObject(“類別名稱”) %>

類別名稱:ADODB.Connection ADODB.Error ADODB.Command ADODB.Parameter ADODB.RecordSet ADODB.Field , ADODB.Property

 

例:

        <% Set cn=Server.CreateObject(“Connection”) %>

        <% Set rs=Server.CreateObject(“RecordSet”) %>

 

三、連結資料庫Connection

        連結資料庫

        <% Set cn=Server.CreateObject(“ADODB.Connection”) 

        cn.Open  “Provider=Microsoft.Jet.OLEDB.4.0;”  & “Data Source=..\fpdb\Book.mdb” %>

 

        關閉資料庫

        cn.Close

 

        連接逾時間:預設15

        <% cn.ConnectionTimeOut=30 %>   改設逾時為30

 四、製作Recordset物件並取得資料來源

        利用Recordset物件存入資料庫來源,才能進行新增、修改、刪除、查詢等等操作。

例: 

<% Set cn=Server.CreateObject(“ADODB.Connection”) 

        cn.Open  “Provider=Microsoft.Jet.OLEDB.4.0;”  & “Data Source=..\fpdb\Book.mdb” 

        Set rs=Server.CreateObject("ADODB.Recordset")

  1. rs.open "書籍",cn,3,3     -----取得書籍資料表的所有資料記錄

  2. rs.open "Select * From 書籍 where 售價>=500",cn,3,3   --只取得部份記錄

%>

   說明

1.連接資料庫

 

2.製作Recordset物件

<% 物件變數=Server.CreateObject(“ADODB.Recordset”) %>

 

3.執行Recordset物件的Open

物件變數.Open  Source,objconn,cursortype,locktype,commandtype

sourceSQL敘述、表格名稱及預儲程式

objconn:連結中的connection物件

cursortypecursor種類有4

0adOpenForwardOnly ,預設值,記錄只可向前方(最後一筆)移動,讀取。最快,只想瀏覽。

1adOpenKeyset,記錄指標可任意移動、讀取、寫入。無法引用其它RecordSet的變更。

2adOpenDynamic ,同1,可引用其它RecordSet的變更,但最慢。

3adOpenStatic記錄指標可任意移動、讀取寫入。但不可引用其它使用者所變更後的資料。

Locktypelock的種類,一筆資料不能同時被二個使用者編修

1adLockReadOnly,預設值,唯讀

2adLockPssimistic,當變成目前的RecordSet(取得資料記錄集後),各記錄鎖定

3adLockOptimistic,僅在Update(更新)時鎖定

4adLockBatchOptimistic,可同時更新多筆記錄,暫不將更新資料放入資料庫,放暫存區,僅在UpdateBatch時鎖定、寫入資料庫。

commandtype:可指定下列的型態值

adcmdText:字串型態的SQL敘述

adcmdTable:表格

adcmdStoreProc:預儲程式

adcmdUnKnown:未知

4.關閉資料來源rs.Close

rs:Recordset物件名稱

執行Close後,資料集所佔用的系統資源會被釋放出來,但不會從記憶體中移除,若要再使用Recordset時,只要再下Open即可

 

Recordset 物件的操作

一、Recordset 物件操作簡圖

二、在指定的 Recordset 物件中新增資料錄的方法(Method)

1) Recordset.Addnew -- 新增一筆資料錄。

2) Recordset.Update -- 更新資料集。

三、在指定的 Recordset 物件中移動資料錄的方法(Method)

語法:Recordset.{MoveFirst | MoveLast | MoveNext | MovePrevious}

說明:

1) Recordset.MoveFirst -- 移到第一筆資料錄。

2) Recordset.MoveLast -- 移到最後一筆資料錄。

3) Recordset.MoveNext -- 移到下一筆資料錄。

4) Recordset.MovePrevious -- 移到前一筆資料錄。

四、指標超出資料集有效範圍時

1) Recordset.EOF -- 為真值(True)時,表示指標已超過資料集的最後一筆資料錄

2) Recordset.BOF -- 為真值(True)時,表示指標已超過資料集的第一筆資料錄

 

※ 當有一資料集的 Recordset.BOF 為真,而且 Recordset.EOF 也為真時,表示這是一個空的資料集

三、資料的統計的屬性

1) Recordset.RecordCount -- 資料集中資料錄總筆數

2) Recordset.AbsolutePage -- 目前指標所在的頁次

3) Recordset.PageSize -- 在資料集中每一頁所要顯示的資料筆數

4) Recordset.PageCount -- 根據 PageSize 設定的顯示筆數所計算出的總頁數

 

五、Field物件的使用   

RecordSet 
 Field
  0
書碼
1
書名
2
書局
3
作者
4
售價

        取得記錄的欄名及欄位內容的方法:

  • 用索引編號
    • 取得欄位名稱 RecordSet.Fields(1).Name
    • 取得欄位內容 RecordSet.Fields(1).value  或 RecordSet.Fields(1)
  • 用物件名稱來取得內容
    •  直接用欄位名稱 RecordSet.Fields("書名") 或 RecordSet("書名")

消息公佈欄

時間類別單位標題發佈點閱
跳至網頁頂部