ASPX System.Data.OleDb 資料來源

ASPX 連接讀取 Access 資料庫物件記錄 (引用 OLE DB 資料來源物件) 連接字串。Import Namespace 命名空間。

<%@ Import Namespace="System.Data.OleDb" %>

OleDBConnection:資料庫連接器,與伺服端 Microsoft Access 資料庫之間的連線。

OleDBCommand:SQL 指令處理器,將主控端 SQL 指令送往伺服端處理。

OleDBDataReader:前導型資料讀取器,依記錄逐筆讀取開啟之資料表紀錄。

OleDBDataAdapter:橋接型資料讀取器,建立資料表在伺服端與主控端橋接,並將取得的資料表加載於記憶體之中。

OleDBCommandBuilder:資料表更新處理器,建立橋接資料表資料更新機制,例如記錄新增、修改及刪除等作業。


取得網站相關路徑

確定 Access 資料庫的位置,取得 Web 服務器上的虛擬路徑,用於判斷指定 Access 資料庫的虛擬路徑實體檔案位置。

Response.Write( Server.MapPath("/db/Northwind.mdb") )

C:\Inetpub\wwwroot\db\Northwind.mdb



開啟 Access 資料庫

依據 Server.MapPath 虛擬路徑開啟 Access 資料庫 OleDbConnection 物件連接資料的唯一來源。於與伺服器的網路連線。根據伺服器 OLE DB 提供者所支援的版本功能,當建立 OleDbConnection 實例時,所有屬性都會設定為其初始值。讀取完成後須使用 Close() 關閉資料來源的連接。或 Dispose() 釋放 OleDbConnection 關閉連接。

Dim myConnection As OleDbConnection
myConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("/db/Northwind.mdb"))
myConnection.Open()


對資料來源執行的 SQL 陳述式讀取或更新、刪除

使用 SELECT 的 SQL 語法搭配 ExecuteReader(),ExecuteReader 是由 Execute 執行與 Reader 讀取二個單字所組成,所以 SELECT 的 SQL 語法當然要和 ExecuteReader() 來做配對。

對資料來源執行的 SQL 陳述式讀取或更新、刪除。OleDbCommand 使用 OleDbConnectionOleDbDataAdapterAccess 資料庫讀取符合的資料列。傳遞初始化的連接字串、讀取查詢 SQL SELECT 語句字串 Access Data Sheet 資料表名稱的字串。

OleDbCommand(String, OleDbConnection)

String 查詢 SQL SELECT 語句字串。OleDbConnection 開啟 Access 資料庫來源的連接。

Dim OleMdbCommand As OleDbCommand
Dim rs As OleDbDataReader
Dim strSql As String = "SELECT * FROM Store_Information"
OleMdbCommand = New OleDbCommand(strSql, myConnection)
rs = OleMdbCommand.ExecuteReader()
Do While (rs.Read())
  Response.Write( rs.Item("Store_name") & rs.Item("S_SALE") ) '讀取符合的資料列
Loop
rs.Close()

請求資料來源使用 OleDbCommand.ExecuteReader 執行 SQL 陳述式所讀取傳回符合 Access 資料庫中資料列的命令。
而使用 OleDbCommand.ExecuteNonQuery 來執行不會傳回任何資料列,對應至 SQL 陳述式描述 UPDATEINSERTDELETE 陳述式無需傳回資料列的情況,傳回值為 -1。ExecuteScalar 其 NonQuery 是非查詢,只處理不傳回。

ExecuteNonQuery 執行非查詢

strSql = "UPDATE Store_Information SET Store_Qty = 302 WHERE S_Index = 1"
OleMdbCommand = New OleDbCommand(strSql, myConnection)
OleMdbCommand.ExecuteNonQuery()


關閉 Access 資料庫

myConnection.Dispose()
myConnection.Close()

ASPX 用於創建 ASP.NET 網頁的文件格式,而 Microsoft Access 是數據庫管理系統 RDBMS (Relational Database Management System) 關聯式資料庫用於存儲和管理數據,針對物件資料庫,為管理資料庫而設計的電腦軟體管理系統。在 ASP.NET 中可以使用 ADO.NET 技術來連接和讀取 Access Database 數據庫中的數據。