ADO.NET数据库访问技术案例教程 第13章 数据库访问类的设计与应用.ppt
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图13-6 密码修改窗体
要求使用自定义类的方法完成。
【课外拓展实践】
参考如图13-7所示的窗体,设计一个 借阅管理窗体,实现图书借阅功能。要求 利用自定义类的方法实现。
图13-7 借阅管理窗体
【本章小结】
本章主要介绍了数据库访 问类的设计方法,应用自定义数据访问类 完成测试连接,并浏览与更新数据源中的 数据。
(3)掌握应用自定义数据访问类浏 览与更新数据源中的数据的方法。
——【本 章 学 习 导 航】——
在开发数据库应用系统时,每个需要 访问数据源的窗体不可能都建立连接对象、 命令对象、数据适配器和数据集对象,因 为这样做会出现大量重复的程序代码,而 且不利于程序模块的维护和扩展。
通常设计一个专门负责实现数据访问
窗体中的复选框CheckBox1的 CheckedChanged事件过程的程序代码如代 码13-2-3所示,当复选框被选中时,用户 名和用户密码对应的文本框不可用。
3.代码分析
代码分析如表13-2所示。
表13-2
程序代码分析
代码序号 代码13-2-2 代码13-2-4
行号
代码分析
GetSetting函数用于从注册表 中读取连接设置
在Visual 的集成工作环境中 选中项目,单击右键弹出快捷菜单,在快 捷菜单中单击【添加】-【添加类】,打 开“添加新项”对话框,在“模板”中自 动选择为“类”,在“名称”栏中输入类 文件的名称,然后单击【打开】按钮,便 会打开类文件代码编辑窗口,在类代码编 辑窗口输入代码即可。
使用数据适配器填充数据集, 返回DataTable对象
使用数据适配器填充数据集, 返回DataView对象
Boolean Boolean DataTable DataView
2.设计过程
(1)新建一个项目Chapter13_1。 (2)在新建的项目中创建一个数据 库访问类SqlDbClass.vb。
(3)切换到代码窗口,编写程序代 码,实现其功能。
定义窗体级的全局变量,分别用于保
存服务器名称、数据库名称、用户名和用 户密码,同时定义了一个自定义类的对象 变量SqlDb,如代码13-2-1所示。
窗体Load事件过程的程序代码如代码 13-2-2所示,这些代码的作用是从注册表 中读取连接设置,然后赋给窗体中的各个 文本框。
第 13 章 数据库访问类的设计与应用
13.1 数据库访问类的设计
13.2
数据库访问类的应用
本章先建立一个访问数据库的自定义 类,然后通过类的方法对数据库进行操作。
——【知 识 技 能 目 标】——
(1)掌握数据库访问类的 设计方法。
(2)掌握应用自定义数据访问类测 试连接的方法。
代码分析如表13-3所示。
表13-3
程序代码分析
代码序号 行号
代码分析
代码13-2-6
01行 04行
If语句的条件表达式调用SqlDbClass类中 的方法CheckConnection,这里有两个作 用:一方面测试数据库连接是否成功;另 一方面将连接字符串赋给SqlDbClass类中 的连接对象conn的ConnectionString属性
调用SqlDbClass类的方法SelectSqlDt, 执行Select语句,返回DataTable对象
代码13-2-7
03行
调用SqlDbClass类中的方法 UpdateQuery,执行Delete语句,返回 Boolean值
代码13-2-8
08行 19行
调用SqlDbClass类中的方法 UpdateQuery,执行Insert语句,返回 Boolean值
的类,各功能模块调用该自定义类的方法 即可实现访问数据源。
13.1 数据库访问类的 设计
对于一个数据库应用系统,许多窗体 都需要访问数据库:从数据表中读取数据、 向数据表中新增记录或者修改、删除数据 表中的数据记录。设计一个类实现对数据 库的访问,使得访问数据库更加规范、简 便,同时也使代码更加简练。
CheckSqlConnect ion
CheckSqlConnect ion CheckAccessConn ection
测试通过用户名和密码登录方 式连接到SQL Server数据库是 否成功
测试通过信任连接方式连接到 SQL Server数据库是否成功
测试连接到Access数据库是否 成功
Boolean(连接成功返 回True,连接失败返 回False)
CheckSqlConnection方法的程序代码 如代码13-1-5所示,该方法用于测试通过 信任安全连接方式连接到SQL Server数据 库是否成功。其参数包括服务器名称或网 络地址以及数据库名称。
CheckAccessConnection方法的程序代 码如代码13-1-6所示,该方法用于测试连 接到Access数据库是否成功。其参数包括 数据库完整路径、用户名和用户密码。
【实例13-3】
1.设计任务
设计一个窗体,应用数据库访问类中 的方法浏览记录,新增、修改或删除记录, 其运行效果如图13-5所示,该窗体与项目 “Chapter7_1”中的窗体相似,但实现方法 不同。
图13-5 利用自定义的数据访问类实现数据更新
2.设计过程
(1)打开现有的项目Chapter13_1, 在该项目中添加一个窗体Form2,该 窗体及控件的外观如图13-5所示。
【实例13-1】
1.设计任务
定义一个访问数据库的类,其名称为 “SqlDbClass”,该类中定义的方法如表 13-1所示。
图13-1 测试数据库连接的界面
表13-1
自定义类SqlDbClass中的方法
方法名称
功能描述
返回值的类型
CheckConnection
测试数据库连接是否成功,可 连接各种数据库
SelectSqlDt方法的程序代码如代码131-10所示,该方法用于使用数据适配器填 充数据集,且返回DataTable对象。其参数 为所要执行的SQL语句。
13.2 数据库访问类的应用
【实例13-2】
1.设计任务
设计一个窗体,应用数据库访问类中 的方法测试数据库连接,该窗体的运行效 果如图13-1所示。
CheckSqlConnection方法的程序代码 如代码13-1-4所示,该方法用于测试通过 用户名和密码登录方式连接到SQL Server 数据库是否成功。
其参数包括服务器名称或网络地址、
数据库名称、用户名和用户密码,如果参 数为网络地址,则IP地址后要加个端口号, 例如172.16.3.254,1433,SQL缺省的端口号 为1433。
Boolean
Boolean
Boolean
方法名称
功能描述数据命令返回单一值
Integer
SelectSP UpdateQuery SelectSqlDt SelectSqlDv
使用数据命令执行存储过程, 返回结果集
使用数据命令新建、修改与删 除数据库中的数据记录
(3)切换到代码窗口,编写程序代 码。
ErrorInfo方法的程序代码如代码13-12所示,当执行类的方法发生错误时,及时 显示错误信息。
CheckConnection方法的程序代码如代 码13-1-3所示,该方法用于测试连接各种 类型的数据库是否成功,其参数是连接字 符串。如果连接成功,则返回True;否则 显示错误提示信息,且返回False。
调用SqlDbClass类中的方法 UpdateQuery,执行Update语句,返回 Boolean值
4.知识要点说明
实例13-3与实例13-2利用自定义类 SqlDbClass类中的方法来实现所需的功能, 程序代码简洁,可重用性强,也符合面向 对象的程序设计思想。
【课堂实践】
打开光盘中文件夹 【ClassroomPractise13_1】中的解决方案 文件【ClassroomPractise13_ 1.sln】,打 开该解决方案中的窗体 【frmUpdatePassword.vb】,切换到代码 窗体,在窗体的Load事件和【保存修改】 按钮的Click事件过程中补写程序代码,实 现登录密码修改功能,如图13-6所示。
图131测试数据库连接的界面返回值的类型checkconnection测试数据库连接是否成功可连接各种数据库boolean连接成功返回true连接失败返回falsechecksqlconnection测试通过用户名和密码登录方式连接到sqlserver数据库是否成功booleanchecksqlconnection测试通过信任连接方式连接到sqlserver数据库是否成功booleancheckaccessconnection测试连接到access数据库是否成功boolean表131自定义类sqldbclass中的方法返回值的类型selectquery执行数据命令返回单一值integerselectsp使用数据命令执行存储过程返回结果集booleanupdatequery使用数据命令新建修改与删除数据库中的数据记录booleanselectsqldt使用数据适配器填充数据集返回datatable对象datatableselectsqldv使用数据适配器填充数据集返回dataview对象dataview续表1新建一个项目chapter131
对于采用Windows集成安全模式的方 式连接数据库,如果服务器名称和数据库 名称都正确,单击【测试连接】按钮,出 现如图13-2所示的提示信息;如果服务器 名称输入有误,则会出现如图13-3所示的 错误提示信息;如果数据库名称输入有误, 则会出现如图13-4所示的错误提示信息。
图13-2 数据库连接成功的提示信息
图13-3 服务器名称有误的错误提示信息
图13-4 数据库名称有误的错误提示信息
2.设计过程
(1)打开现有的项目:Chapter13_1。
(2)在Form1窗体中添加2个Button 控件、4个Label控件、4个TextBox控 件、1个CheckBox控件和1个 GroupBox控件,窗体及控件的设计 外观如图13-1所示。
SaveSetting函数用于在Windows注册 表中保存或创建一个应用程序项, SaveSetting函数将键添加到
HKEY_CURRENT_USER\Software\VB and VBA Program Settings。
GetSetting函数用于返回Windows注册 表中的某个应用程序项的设置值。
SaveSetting函数用于保存连接 设置到注册表
代码13-2-2 03行 获取计算机的本机名称
03行
If语句的条件表达式调用了自定义 类中的CheckSqlConnection方法
代码13-2-4
If语句的条件表达式调用了自定义 类中的CheckSqlConnection方法。 自定义类SqlDbClass中重载了 07行和08行 CheckSqlConnection方法,两次调 用虽然方法名称相同,但是参数不 同,分别对应自定义类中不同的方 法
(2)切换到代码窗口,编写程序代 码,实现其功能。
窗体Form2所实现的功能与项目 “Chapter7_1”中的窗体相似,但实现的方 法有所不同,Form2主要是调用自定义类 SqlDbClass中的方法实现对数据的更新。 以下只列出了与项目“Chapter7_1”中不同 的程序代码。
3.代码分析
SelectQuery方法的程序代码如代码131-7所示,该方法用于执行数据命令返回单 一值,其参数为所要执行的SQL语句。
SelectSP方法的程序代码如代码13-1-8 所示,该方法用于使用数据命令执行存储 过程,返回结果集。其参数为存储过程的 名称和数据读取器对象。
UpdateQuery方法的程序代码如代码 13-1-9所示,该方法用于使用数据命令新 建、修改和删除数据库中的数据记录。其 参数为所要执行的SQL语句。