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

軟體文件 / ASP與資料庫 / 資料庫連接

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

 

 

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("書名")
跳至網頁頂部