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 数据库中的数据。