HOOK和数据库访问主讲人:孙鑫
http://www.sunxin.org
Windows的消息机制应用程序操作系统消息队列窗口过程




http://www.sunxin.org
动态链接库被多个进程访问代码页面 2
代码页面 1
数据页面 2
代码页面 3
数据页面 1
DLL的虚拟内存代码页面 2
代码页面 1
数据页面 2
代码页面 3
数据页面 1
代码页面代码页面 1
代码页面 2
代码页面 3
数据页面 1
数据页面 2
代码页面 2
代码页面 2
代码页面 3
数据页面 1
数据页面 2
代码页面 1
第一个进程的地址空间第二个进程的地址空间
http://www.sunxin.org
新页面数据库访问技术
ODBC(Open Database Connectivity),开放数据库互连。
ODBC是上个世纪八十年代末九十年代初出现的技术,它为编写关系数据库的客户软件提供了一种统一的接口。ODBC提供一个单一的 API,可用于处理不同数据库的客户应用程序。使用 ODBC API的应用程序可以与任何具有
ODBC驱动程序的关系数据库进行通信。
DAO(Data Access Object),数据访问对象。 DAO就是一组
Microsoft Access/Jet数据库引擎的 COM自动化接口。 DAO
不像 ODBC那样是面向 C/C++程序员的,它是微软提供给
Visual Basic开发人员的一种简单的数据访问方法,用于操纵 Access数据库。
RDO(Remote Data Object),远程数据对象。由于 RDO直接调用 ODBC API(而不是像 DAO那样通过 Jet引擎 ),所以,
可以为使用关系数据库的应用程序提供更好的性能。
http://www.sunxin.org
ODBC体系架构客户程序
ODBC驱动程序管理器
ODBC驱动程序各种关系数据库
http://www.sunxin.org
数据库访问技术
OLE DB,对象链接与嵌入数据库。 OLE DB在两个方面对 ODBC进行了扩展。首先,OLE DB提供了一个数据库编程的 COM接口;第二,OLE
DB提供了一个可用于关系型和非关系型数据源的接口。 OLE DB的两个基本结构是 OLE DB提供程序 (Provider)和 OLE DB用户程序 (Consumer)。
ADO(ActiveX Data Object),ActiveX数据对象,它建立在 OLE DB之上。 ADO是一个 OLE DB用户程序。使用 ADO的应用程序都要间接地使用 OLE
DB。 ADO简化了 OLE DB,提供了对自动化的支持,使得像 VBScript这样的脚本语言也能够使用
ADO访问数据库。
http://www.sunxin.org
OLE DB体系架构
ADO
使用 ADO的客户程序使用 OLE DB访问数据库的程序
ODBC
OLE DB用户程序
ODBC
数据库
ODBC
数据库 电子表格 电子邮件其它非关系型存储
http://www.sunxin.org
OLE DB提供程序
ADO的三个核心对象
Connection对象
Connection对象表示了到数据库的连接,它管理应用程序和数据库之间的通信。 Recordset和 Command对象都有一个 ActiveConnection属性,该属性用来引用 Connection对象。
Command对象
Command对象被用来处理重复执行的查询,或处理需要检查在存储过程调用中的输出或返回参数的值的查询。
Recordset对象
Recordset对象被用来获取数据。 Recordset对象存放查询的结果,这些结果由数据的行 (称为记录 )和列 (称为字段 )
组成。每一列都存放在 Recordset的 Fields集合中的一个 Field
对象中。
http://www.sunxin.org