ASPX System.Data.OleDb 資料來源
ASPX 連接讀取 Access 資料庫物件記錄 (引用 OLE DB 資料來源物件) 連接字串。Import Namespace 命名空間。
<%@ Import Namespace="System.Data.OleDb" %>
取得網站相關路徑
確定 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 陳述式讀取或更新、刪除
對資料來源執行的 SQL 陳述式讀取或更新、刪除。OleDbCommand 使用 OleDbConnection 或 OleDbDataAdapter 從 Access 資料庫讀取符合的資料列。傳遞初始化的連接字串、讀取查詢 SQL SELECT 語句字串,Access 料庫資料表名稱的字串。
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 陳述式描述 UPDATE、INSERT 和 DELETE 陳述式無需傳回資料列的情況,傳回值為 -1。ExecuteScalar 只擷取單一值,例如從資料庫擷取匯總值。
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()