第9章数据库编程 91数据库概述 920DBC数据库管理 93数据库相关的 Activex控件
第9章数据库编程 9.1 数据库概述 9.2 ODBC数据库管理 9.3 数据库相关的ActiveX控件
91数据库概述 数据库和DBMS 指以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合 为了有效地管理数据库,常常需要一些数据库管理系统(DBMS)提供对数据 库操作的各种命令、工具及方法。 SQL SQL语句分为两类:一是DDL语句,用来创建表、索引等,另一是DML,这 些语句是用来读取数据、更新数据和执行其他类似操作的语句 ODBC、DAO和 OLE DB ODBC提供了应用程序接口(API),使得任何一个数据库都可以通过ODBC驱 动器与指定的DBMS相联。程序可以通过调用ODBC驱动管理器中相应的驱 动程序达到管理数据库的目的 。DA○使用Jet数据库引擎形成一系列的数据访问对象:数据库对象、表和査 询对象、记录集对象等。可以打开一个 Access数据库文件(MDB文件),也可 直接打开一个ODBC数据源以及使用jet引擎打开一个SAM(被索引的顺序访 问方法)类型的数据源( dBASE、 FoXPro、 Paradox、Ece或文本文件 OLE DB试图提供一种统一的数据访问接口,并能处理除了标准的关系型数 据库中的数据之外,还能处理包括邮件数据、Web上的文本或图形、目录服 务 Directory services)以及主机系统中的IMS和VSAM数据。 OLE DB提供 炇据库编程COM(组件对象模型)接口,使得数据的使用者(应用程序)可以 使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类 OLE DB的程序比较复杂,因而对于一般用户来说使用ODBC和DAO方式已 满足一般数据库处理的需要
9.1数据库概述 ➢ 数据库和DBMS 指以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。 为了有效地管理数据库,常常需要一些数据库管理系统(DBMS)提供对数据 库操作的各种命令、工具及方法。 ➢ SQL SQL语句分为两类:一是DDL语句,用来创建表、索引等,另一是DML,这 些语句是用来读取数据、更新数据和执行其他类似操作的语句。 ➢ ODBC、DAO和OLE DB ◆ ODBC提供了应用程序接口(API),使得任何一个数据库都可以通过ODBC驱 动器与指定的DBMS相联。程序可以通过调用ODBC驱动管理器中相应的驱 动程序达到管理数据库的目的。 ◆ DAO使用Jet数据库引擎形成一系列的数据访问对象:数据库对象、表和查 询对象、记录集对象等。可以打开一个Access数据库文件(MDB文件),也可 直接打开一个ODBC数据源以及使用Jet引擎打开一个ISAM(被索引的顺序访 问方法)类型的数据源(dBASE、FoxPro、Paradox、Excel或文本文件)。 ◆ OLE DB试图提供一种统一的数据访问接口,并能处理除了标准的关系型数 据库中的数据之外,还能处理包括邮件数据、Web上的文本或图形、目录服 务(Directory Services)以及主机系统中的IMS和VSAM数据。OLE DB提供一 个数据库编程COM(组件对象模型)接口,使得数据的使用者(应用程序)可以 使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类 型。这个COM接口与ODBC相比,其健壮性和灵活性要高得多。但是,由于 OLE DB的程序比较复杂,因而对于一般用户来说使用ODBC和DAO方式已能 满足一般数据库处理的需要
920DBC数据库管理 921MFc的ODBc过程 设计数据库 表91学生表(xs)及其表结构 匚学号m姓名(m)性别专业代号md 990101 男 102001 990102 高山 男 王平 990202 109003 序号宇段名称懿据类型字段大小小数位字段含义 文本 学号 文本 姓名 文本 性别 4 promode 文本 专业代号 表92专业代码表(2y)及其表结构 专业代号@ rofcode)专业名称 proframe) 学制 stears 102001 计算机及应用 应用电子技术 自动控制 通信工程 109003 计算机科学 序号字段名称魏据类型字段大小小数位字段合义 rofcode 文本 专业代号 文本 专业名称 stuvears 数字 整型
9.2ODBC数据库管理 9.2.1MFC的ODBC过程 ➢ 设计数据库
920DBc数据库管理 >定义oDBC的数据源 控制面 政据政管理器 区 文件①)编错)查看转到)收)帮助0 ·勗〓益罌 用户x|系统N|文件nN|驱动程序踪连接池关于 用户数据源①D 添加Q) 地址控制面板 泥动程序 SE Files Microsoft dBase Driver (. d 雪)泗 Microsoft Excel Driver Microsoft Foxpro Driver ( 配置¢) Internet \ODBC 打印机 us Aeeess 97 Database Microsoft Access Driver 控制面板 Text Files Visual FoxPro Database Microsoft Visual FoxPro Dri Visual FoxPro Tables Microsoft Visual FoxPro Dr 0DBC数据源 电话电源管理调制解调器多媒体 数据源和驱动程 红外线 键盘 ①情 i crosoft主页 技木支技 透定了1个对象 马我的电脑 L确定取消「应用」「帮助 图9 1 Windows98的“控制面板 图9.2ODBC数据源管理器
9.2ODBC数据库管理 ➢ 定义ODBC的数据源 图9.1 Windows 98的“控制面板” 图9.2 ODBC数据源管理器
920DBc数据库管理 定义用户的DSN的过程如下 (1)单击[添加]按钮,如图。 (2)在该对话框中选“ Microsoft Access driver”。单击完成],如图 (3)在对话框中,单击[选取]按钮将前面创建的数据库调入 (4)单击[确定],如图。 数据名0D)1tR 猫述①)闻于V160的 数据库 选定您需要的动程序来安装数是③ 数据:D1saC+60程序 Student ad 帮助0 果建,复)压落) 可a3日 系统据库 Oracle 无 C数据库① 国 SQLServer 选填) 图94 ODBCAccess安装对话框 P|系病如文件m|部动程序|即踪连池关于1 用户数据QD 图93“创建新数据源”对话框 添加① 动程序 点需计:菜 一聊消」帮助 图9.5用户数据源列表
9.2ODBC数据库管理 定义用户的DSN的过程如下。 (1)单击[添加]按钮,如图。 (2)在该对话框中选 “Microsoft Access Driver”。单击[完成],如图。 (3)在对话框中,单击[选取]按钮将前面创建的数据库调入。 (4)单击[确定],如图。 图9.3 “创建新数据源”对话框 图9.4 ODBC Access 安装对话框 图9.5 用户数据源列表
920DBc数据库管理 MFC Appwizard的创建 (1)用 MFC AppWizard(exe)创建一个单文档应用程序 EX ODBC (2)在向导的第二步对话框中加入数据库的支持,如图 (3)选中“ Database view with file support项,单击[ Data source],如图 c4二5t2,f6 配区|th0pti Toad- What database support would you like to include? Datasource My database for VC Cancel Header files only C DAO C Database view without file support C OLE DB ee OLE DB Datasource c Database view with file support H you include a database view, you must select a Recordset type data source o Snapshot C Table Data Source. Advanced No data source in selected F Detect dirty columns 图97“ Database Options”对话框 Back Finish Cancel 图9.6向导的第二步对话框
9.2ODBC数据库管理 ➢ MFC Appwizard的创建 (1)用MFC AppWizard(exe)创建一个单文档应用程序Ex_ODBC。 (2)在向导的第二步对话框中加入数据库的支持,如图。 (3)选中“Database view with file support”项,单击[Data Source],如图。 图9.6 向导的第二步对话框 图9.7 “Database Options”对话框
920DBc数据库管理 (4)选择ODBC的数据源“ My database for VC,单击[OK,如图,从中选 择要使用的表(这里选择Xs) (5)单击[OK],回到向导的第二步对话框。单击[ Finish]。 (6)编译并运行,如图 F无标-xQDc 网回区 elect Database Tables 文件①)编播①)记录①)查看①帮助00 口副M4kM 记录浏览按钮 T00:在这个对话框里设置表格控制 图9.8“ Select database tables”对话框 就绪 数字□ 图99 Ex ODBC运行结果
9.2ODBC数据库管理 (4)选择ODBC的数据源“My database for VC”,单击[OK],如图,从中选 择要使用的表(这里选择xs)。 (5)单击[OK],回到向导的第二步对话框。单击[Finish]。 (6)编译并运行,如图。 图9.8 “Select Database Tables”对话框 图9.9 Ex_ODBC运行结果 记录浏览按钮
920DBc数据库管理 >浏览记录 (1)将前面的单文档项目 EX ODBC调入。 2)切换到项目工作区窗口的 Resourceview页面,打开用于表单视图 CEx ODBCView的对话框资源 IDD EX ODBC FORM。 (3)参看图9,10向对话框中添加下列控件 控件m号 标题 民性 学生表 组框 缺省 学生表缺省 学号:::a 静态文本缺省 学号: 缺省 编辑框 IDC STU ID 缺省 d 静态文本缺省 姓名: 缺省 专业代号:ait 编辑框 IDC STU NAM 缺省 静态文本缺省 性别: 缺省 图910控件的设计 编辑框 C STU SEX 缺省 静态文本缺省 专业代号:缺省 编辑框 IDC PROF ODE 缺省
9.2ODBC数据库管理 ➢ 浏览记录 (1)将前面的单文档项目Ex_ODBC调入。 (2)切换到项目工作区窗口的ResourceView页面,打开用于表单视图 CEx_ODBCView的对话框资源IDD_EX_ODBC_FORM。 (3)参看图9.10向对话框中添加下列控件。 图9.10 控件的设计
920DBc数据库管理 (4)选择“vew菜单→“ Class wizard或按快捷键Ct+W,切换到 Member Variables页面,在 Class name框中选择 CEX ODBCView,为上述控件添加相 关联的数据成员。例如,双击 IDC PROF CODE,在弹出的对话框中的成员 变量下拉列表中选择要添加的成员变量名 m_ pset-> m_profcode,如图 (5)按照上一步骤的方法,为下表的控件依次添加相关联的数据成员。 控件D号 变量类型 变量名 字符长度 IDC PROF CODE CStn m profcode 6 IDC STU NAM配E ->m name IDC STU ID CString >m stuid 6 IDC STU SEX Member variable name m_pSet>m stuid Variable type CString Description: CString with length validation 图9.1为控件添加数据成员
9.2ODBC数据库管理 (4)选择“View”菜单→“Class Wizard”或按快捷键Ctrl+W,切换到Member Variables页面,在Class name框中选择CEx_ODBCView,为上述控件添加相 关联的数据成员。例如,双击IDC_PROF_CODE,在弹出的对话框中的成员 变量下拉列表中选择要添加的成员变量名m_pSet->m_profcode,如图。 (5)按照上一步骤的方法,为下表的控件依次添加相关联的数据成员。 图9.11 为控件添加数据成员
920DBc数据库管理 (6)编译并运行,如图。 无标惡-x0DBC 口区 文件①)编辑)记录)查看Q)帮助0E K4)N2 学生表 90101 姓名 李林 专业代号:02001 优绪 数字 图92 EX ODBC浏览记录
9.2ODBC数据库管理 (6)编译并运行,如图。 图9.12 Ex_ODBC浏览记录