HOOK和数据库访问 主讲人:孙鑫 http://www.sunxin.org
Windows的消息机制 窗口过程 应用程序 ② 消息队列 ③ ④ ① 操作系统 http://www.sunxin.org
动态链接库被多个进程访问 http://www.sunxin.org 第一个进程的地址空间 第二个进程的地址空间 DLL的虚拟内存 代码页面2 代码页面1 代码页面2 代码页面2 代码页面2 代码页面1 代码页面2 代码页面1 代码页面1 代码页面2 代码页面3 数据页面2 数据页面2 代码页面3 数据页面1 代码页面3 代码页面3 数据页面1 数据页面2 数据页面1 数据页面1 数据页面2 新页面 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体系架构 http://www.sunxin.org 使用ADO的 客户程序 OLE DB用户程序 ODBC ODBC 数据库 ODBC 数据库 电子表格 电子邮件 其它非关 系型存储 http://www.sunxin.org
ADO的三个核心对象 Connection对象 Connection对象表示了到数据库的连接,它管理应用程序和数据库之间的通信。 Recordset和Command对象都有一个ActiveConnection属性,该属性用来引用Connection对象。 Command对象 Command对象被用来处理重复执行的查询,或处理需要检查在存储过程调用中的输出或返回参数的值的查询。 Recordset对象 Recordset对象被用来获取数据。 Recordset对象存放查询的结果,这些结果由数据的行(称为记录)和列(称为字段)组成。每一列都存放在Recordset的Fields集合中的一个Field对象中。 http://www.sunxin.org