筆記筆記記起來

雖然目前我完全不會用。

ASP ADO整理

ADO (Active Data object)

Microsoft 為了解決整體企業資料存取需求所提出的策略方案 UDA(Universal Data Access)之一,此方案包括 ADO,OLE DB以及ODBC。 ADO可以透過 OLE DB或ODBC驅動程式來存區資料庫。如果同時都有時建議使用OLE DB,因為 OLE DB的執行效能較ODBC來的高。

ADO的物件

Connection 物件:責開啟與連結到資料來源的物件。
Command  物件:負責傳送能被資料來源所執行命令的物件,命令是一文字字串,通常是一SQL敘述。
Recordset 物件:負責存取資料庫內容的物件,為一資料紀錄集。
Parameter 物件:表示命令的參數。
Field 物件:表示資料記錄的欄位。
Error 物件:表示資料來源傳回的錯誤。

當我們使用完資料庫連結後可以使用Close方法將該連結關閉,使用Close的方法可以將最後留在緩衝區的資料作最後的交付動作以免有資料流失的情況發生

Access 2000 資料庫連結的網頁

Set DBConnection = Server.CreateObject("ADODB.Connection")
ConnectionString = "Provider=Microsoft.Jet.OLEDB.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../Book.mdb")
DBConnection.Open ConnectionString

ODBC 方法連結Access 2000

ASP 可透過 ODBC DSN (Data Source Name)來與資料庫做連結。
DBConnection.Open "資料庫來源名稱"

SQL Server 7.0 連結

Set DBConnection = Server.CreateObject("ADODB.Connection")
ConnectionString = "Provider=SQLOLEDB.1;Server=W2k;UID=SiteAdmin;PWD=123"
DBConnection.Open ConnectionString

有密碼保護的Access 2000

Set DBConnection = Server.CreateObject("ADODB.Connection")
ConnectionString = "Provider=Microsoft.Jet.OLEDB.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../Book.mdb")
DBConnection.Open ConnectionString & ";Jet OLEDB:Database Password=12345"

Excel 2000 資料庫連結
  Excel 中一個檔案是一個資料庫,而每個活頁簿的Sheet是一個資料表

Set DBConnection = Server.CreateObject("ADODB.Connection")
ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & Server.Mappath("../Book.xls")
DBConnection.Open ConnectionString

連結TEXT 檔案

Set DBConnection = Server.CreateObject("ADODB.Connection")
ConnectionString = "Driver={Microsoft Text Driver (*.txt;*.csv)};DBQ=" & Server.Mappath("../")
DBConnection.Open ConnectionString

之前用Connection 物件來建立連結並使用Recordset物件來運用傳回的資料

Recordset 物件的一些重要屬性與方法:

RecordSet(i).Name
傳回Recordset中第i個欄位的名稱。
RecordSet("欄位名稱")
傳回指定欄位名稱的資料內容。

RecordSet.Fields.Count  
傳回Recordset中的欄位數。
RecordSet.RecordCount
傳回Recordset中資料錄的筆數。
RecordSet(i)
傳回RecordSet目前紀錄中的第i個欄位資料。
RecordSet.BookMark
傳回設定的書籍資料以儲存現在紀錄的位置,記錄位置供日後返回使用。
RecordSet.AbsolutePostition
將指標移致RecordSet中的某一筆資料上。
RecordSet.PageSize
設定每頁顯示的資料筆數。
RecordSet.PageCount
傳回分頁後的總頁數。
RecordSet.AbsolutePage
傳回目前所在的頁數。

RecordSet.BOF
判斷指標是否超過最前面,如果是則傳回True,否則傳回False。
RecordSet.EOF
判斷指標是否超過最後面,如果是則傳回True,否則傳回False。

RecordSet.MoveFirst
將資料錄指標移至第一筆。
RecordSet.MoveLast
將資料錄指標移至最後一筆。
RecordSet.MoveNext
將資料指標往後移一筆。
RecordSet.MovePrevious
將資料指標往前移一筆。
RecordSet.GetRows
可將Recordset中的資料儲存至陣列中。

RecordSet.AddNew
RecordSet.AddNew 欄位名稱陣列,欄位值陣列,資料庫新增
RecordSet.Update
RecordSet(”欄位名稱”)= 預修改的值,RecordSet.Update,資料庫更新
RecordSet.Delete
資料刪除,刪除後資料已不存在,需小心指標位置
RecordSet.Find
RecordSet.Find “欄位名稱 = ‘尋找的資料值’”

Recordset開啟資料表的語法

Set  RsObject  =  Server.CreateObject(”ADODB.Recordset:”)
RsObject.Open 資料來源,資料連結,指標型態,鎖定方式
資料來源:指定資料表名稱
資料連結:指定一個已Connection的物件
指標型態:
0:只能向前移動的指標,此為預設值
1:無法讀取其他使用著新增之資料,更新之資料會立即反應
2:可以及時反應其他使用著操作資料庫之狀況
3:無法及時反映其他使用著操作相同資料庫的狀況用於搜尋或新增記錄時使用
鎖定方式:
1:將Recordset 開啟為唯讀狀態,此為預設值
2:當使用著對Recordset 中的某筆資料作編輯時店鎖定記錄
3:當使用著呼叫Update方法對Recordset做更新時才鎖定記錄
4:使用著做批次更新時才鎖定記錄

Access 2000 資料庫連結的網頁
Set DBConnection = Server.CreateObject(”ADODB.Connection”)
ConnectionString = “Provider = Microsoft.Jet.OLEDB.4.0;Data Source=”& Server.MapPath(”../boo.mdb”)
DBConnection.Open ConnectionString
Set RS = Server.CreateObject(”ADODB.Recordset”)
RS.Open “資料表名稱”,DBConnection

Command 物件
Command 物件的主要用途在於執行不會傳回記錄集的SQL敘述
Set CmdObj = Server.CreateObject(“ADODB.Command”)
Set CmdObj.ActiveConnection = DBConnection
CmdObj.CommandText = SQL_Statements
CmdObj.Execute

範例
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("book.mdb")
SQL ="Select * from 姓名"
Set RS = Conn.Execute(SQL)
arrow
arrow
    全站熱搜

    Joy 發表在 痞客邦 留言(0) 人氣()