筆記筆記記起來
雖然目前我完全不會用。
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)
沒有留言:
張貼留言