第12章 VB开发SQL Server应用程序.docx
- 文档编号:14479411
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:14
- 大小:19.87KB
第12章 VB开发SQL Server应用程序.docx
《第12章 VB开发SQL Server应用程序.docx》由会员分享,可在线阅读,更多相关《第12章 VB开发SQL Server应用程序.docx(14页珍藏版)》请在冰点文库上搜索。
第12章VB开发SQLServer应用程序
教案用纸(A-8)
学
科
数据库基础与应用-SQLServer2005
第12章节
授课日期
课题:
VB开发SQLServer应用程序
课
时
18
班
级
授课方式
讲授、实训
教学目的
1、了解数据库应用程序开发的常见方式
2、了解ODBC的体系结构
3、学会ODBC数据源的配置
4、了解ADO对象模型
5、使用ADO数据控件开发简单的数据库应用程序
6、了解VB代码对数据库的操作
重点、难点
重点:
使用ADO数据空间开发简单的数据库应用程序
难点:
了解VB代码对数据的操作
教具准备
教室、机房
说明
教学内容<课程引入、教学过程、布置作业>
见附页
一、课程引入
1、存储过程的创建和执行
2、存储过程的管理
3、存储过程的参数传递
二、教学内容
12.1数据库应用程序开发概述
与数据库进行交互方式。
嵌入式SQL
ODBC数据库应用程序
OLEDB数据库程序设计
ODBC配置
ODBC概述
配置ODBC数据源
ODBC的组成
应用程序(Application)
ODBC管理器(Administrator)
驱动程序管理器(Driver Manager)
ODBC API
ODBC驱动程序
数据源
ODBC各部件的关系
配置ODBC数据源界面
·用户DSN:
显示当前登录用户使用的数据源清单。
·系统DSN:
显示可以由系统中全部用户使用的系统数据源清单。
·文件DSN:
显示允许连接到一个文件提供程序的数据源清单。
·驱动程序:
显示所有已安装的驱动程序。
·跟踪:
允许跟踪某个给定ODBC驱动程序的所用活动,并记录到日志文件。
·连接池:
用来设置连接ODBC驱动程序的等待时间。
·关于:
显示由ODBC数据源管理器使用的动态连接库及其版本。
12.3OLEDB
OLEDB是系统级的编程接口,它定义了一组COM接口,这组接口封装了各种数据系统的访问操作,这组接口为数据使用方和数据提供方建立了标准
ADO是应用层的编程接口,它通过OLEDB提供的COM接口访问数据
Microsoft定义了OLEDB的四个主要类型
·数据提供者:
指使用OLEDB软件开发工具创建OLEDB提供者的人。
·数据消费者:
访问数据库中信息的应用程序、系统驱动程序或者用户。
·数据服务提供者:
创建用以增强用户或者数据库管理员使用或者管理数据库能力的独立应用程序。
·部件开发者:
创建应用程序模块或者部件,以减少创建数据库应用程序所需的编码工作。
OLEDB体系结构
OLEDB模型包括以下COM对象
·数据源对象:
数据源对象对应于一个数据提供者,它负责管理用户权限、建立与数据源的连接等初始操作。
·会话对象:
在数据源连接的基础上建立会话对象,会话对象提供了事务控制机制。
·命令对象:
数据使用者利用命令对象执行各种数据操作,如查询命令、修改命令等。
·行集对象:
提供了数据的抽象表示,它可以是命令执行的结果,也可以直接由会话对象产生,它是应用程序主要的操作对象。
ADO包含的对象
Connection
Command
Recordset
Errors
Properties
Parameters
Fields
ADO对象模型
Connection对象
Connection对象代表与数据源之间的一个连接
·通过ConnectionString、ConnectionTimeOut和Mode属性设置连接串、超时信息、访问模式。
·设置CursorLocation属性指定使用客户端游标,
·设置连接的缺省数据库属性DefaultDatabase。
·设置OLEDB提供者的属性Provider。
Connection对象
·通过Open和Close控制Connection对象与物理数据源的连接。
·通过Execute方法执行命令。
·提供事务机制,通过BeginTrans、CommitTrans和RollbackTrans方法实现事务控制。
·通过Errors集合属性检查数据源的错误信息。
·通过OpenSchema方法获取数据库的表信息。
Command对象
Command对象代表一个命令
·通过CommandText属性设置命令串。
·通过Parameters集合属性和Parameter对象定义参数化查询或存储过程的参数。
·通过Execute方法执行命令,可能的话,返回Recordset对象。
·在执行命令之前,可通过设置CommandType属性以便优化性能。
·可以通过Prepared属性指示底层的提供者为当前命令准备一个编译过的版本,以后再执行时,速度会大大加快。
Command对象
·通过CommandTimeOut属性设置命令执行的超时值(以秒为单位)。
·可以设置ActiveConnection属性,为命令指定连接串,Command对象将在内部创建Connection对象。
·可以设置Name属性,这样以后可以在相应的Connection对象上按Name属性指定的方法名执行。
Recordset对象
Recordset对象代表一个表的记录集或者命令执行的结果
利用CursorType属性设置游标类型。
通过Open方法打开记录集数据
通过MoveFirst、MoveLast、MoveNext和MovePrevious方法可以对记录集的游标进行移动操作。
ADO提供了两种记录修改方式:
立即修改和批修改。
ADO的一个典型的存取数据的基本步骤
1) 连接数据源。
2) 指定访问数据源的命令。
3) 执行命令,打开记录集对象。
4) 使用记录集。
5) 提供常规方法检测错误。
6)断开连接。
12.4使用VB开发SQLServer应用程序
ADO的引用与查看
用ADODATA控件开发简单的数据库应用程序
使用VB代码操纵数据库
ADO的引用与查看
在“工程”菜单中执行“应用”命令,打开“引用对话框”
在“视图”菜单中执行“对象浏览器”命令查看ADO提供的对象及其属性、方法等
在“工程”菜单中执行“部件”命令,打开“部件”对话框,将ADO控件添加到工具箱中
举例
用ADODATA控件开发简单的数据库应用程序
ADODATA控件可以实现下面的功能:
•连接一个本地数据库或远程数据库。
•打开一个指定的记录集合、或定义一个基于结构化查询语言的查询、或存储过程。
•将数据字段的数值传递给数据绑定的控件。
•添加新的记录
举例。
命令类型共有四种
·1-adCmdText:
文本类型命令,常用来输入SQL语句。
·2-adCmdTable:
表类型命令,常用来选择数据库中的表。
·4-adCmdStroedProc:
存储过程类型命令,常用来选择一个存储过程。
·8-adCmdUnknown:
未知类型命令。
执行后的结果
程序功能
程序的主窗口如图12-24所示,点击“浏览”后的子窗口如图12-25所示,要求程序具有搜索、添加、删除和浏览学生基本情况表中的记录的功能,
其中搜索功能是根据学生的学号来寻找一条记录。
删除功能是将搜索功能中找到的记录进行删除。
添加功能是根据窗口中几个文本框的值来添加一条记录。
浏览功能是对表中的记录进行浏览,其中记录可以移到第一条记录、前移一条记录、后移一条记录、移到最后一条记录。
窗口界面说明
在主窗口和浏览窗口中有七个标签控件,它们的“Caption”属性分别为学号、姓名、性别、年龄、系别、专业和家庭地址,其它属性采用默认值。
有七个文本框控件,它们的名称分别是text1、text2、text3、text4、text5、text6、text7。
主窗口中有四个按钮控件,它们的“Caption”属性分别为搜索、添加、删除、、浏览。
浏览窗口中有四个按钮控件,它们的“Caption”属性分别为第一条、上一条、下一条和最后一条。
定义系统需要用到的变量代码
DimcnAsConnection
DimrsAsRecordset
DimcmdAsCommand
Dimp1AsParameter
Dimp2AsParameter
Dimp3AsParameter
Dimp4AsParameter
Dimp5AsParameter
Dimp6AsParameter
Dimp7AsParameter
DimerrAsADODB.Error
启动系统时系统作一些初始化设置
PrivateSubForm_Load()
Setcn=NewConnection
cn.CursorLocation=adUseClient
cn.Open"PROVIDER=MSDASQL;DSN=student;uid=sa;pwd="‘连接ODBC数据源。
Setrs=NewRecordset
rs.CursorType=adOpenStatic
rs.Open"学生基本情况表",cn,,,adCmdTable‘打开数据源中的表。
SetText1.DataSource=rs‘在文本框中显示表中指定记录的第1列。
SetText2.DataSource=rs‘在文本框中显示表中指定记录的第2列。
SetText3.DataSource=rs
SetText4.DataSource=rs
SetText5.DataSource=rs
SetText6.DataSource=rs
SetText7.DataSource=rs
EndSub
点击浏览按钮时打开浏览窗口
PrivateSubCommand1_Click()
Form2.Show‘打开子窗口。
EndSub
定义子窗口启动后需要用到的变量代码
DimcnscanAsConnection
DimrsscanAsRecordset
DimcmdAsCommand
DimerrAsADODB.Error
子窗口打开时的初始化处理代码
PrivateSubForm_Load()
Setcnscan=NewConnection
cnscan.CursorLocation=adUseClient
cnscan.Open"PROVIDER=MSDASQL;DSN=student;uid=sa;pwd="
Setrsscan=NewRecordset
rsscan.CursorType=adOpenStatic
rsscan.Open"学生基本情况表",cnscan,,,adCmdTable
SetText1.DataSource=rsscan
SetText2.DataSource=rsscan
SetText3.DataSource=rsscan
SetText4.DataSource=rsscan
SetText5.DataSource=rsscan
SetText6.DataSource=rsscan
SetText7.DataSource=rsscan
EndSub
点击“最后一条”按钮时将显示表中的最后一条记录。
PrivateSubend_Click()
rsscan.MoveLast‘将指针移到最后一条记录。
EndSub
点击“第一条”按钮时将显示表中的第一条记录
PrivateSubfirst_Click()
rsscan.MoveFirst‘将指针移到第一条记录。
EndSub
点击“下一条”按钮时记录会下移一条。
PrivateSubnext_Click()
rsscan.MoveNext‘指针下移一条记录。
Ifrsscan.EOFThenrsscan.MoveLast‘如果指针目前已经到了最后面,则指针移到最后一条记录。
EndSub
点击“上一条”按钮时记录会上移一条。
PrivateSublast_Click()
rsscan.MovePrevious‘将指针上移一条记录。
Ifrsscan.BOFThenrsscan.MoveFirst‘如果指针目前已经到了最前面,则指针移到第一条记录。
EndSub
关闭子窗口时关闭相关数据源代码
PrivateSubForm_unLoad(cancelAsInteger)
rsscan.Close
cnscan.Close
EndSub
点击“添加”按钮时向表中添加一条记录代码
PPrivateSubadd_Click()
Setcmd=NewCommand
Withcmd
.ActiveConnection=cn‘连接数据源。
.CommandText="insertinto学生基本情况表values(?
?
?
?
?
?
?
)"
EndWith
Setp1=cmd.CreateParameter("p1",adInteger,adParamInput)‘定义输入参数。
Setp2=cmd.CreateParameter("p2",adChar,adParamInput,8)
Setp3=cmd.CreateParameter("p3",adChar,adParamInput,2)
Setp4=cmd.CreateParameter("p4",adInteger,adParamInput,4)
Setp5=cmd.CreateParameter("p5",adChar,adParamInput,20)
Setp6=cmd.CreateParameter("p6",adChar,adParamInput,20)
Setp7=cmd.CreateParameter("p7",adChar,adParamInput,50)
点击“添加”按钮时向表中添加一条记录代码
cmd.Parameters.Appendp1‘对应括弧中的参数。
cmd.Parameters.Appendp2
cmd.Parameters.Appendp3
cmd.Parameters.Appendp4
cmd.Parameters.Appendp5
cmd.Parameters.Appendp6
cmd.Parameters.Appendp7
p1.Value=Text1.Text‘给参数赋值。
p2.Value=Text2.Text
p3.Value=Text3.Text
p4.Value=Text4.Text
p5.Value=Text5.Text
p6.Value=Text6.Text
p7.Value=Text7.Text
cmd.Execute‘执行SQL语句,将数据插入表。
MsgBox"成功插入数据"
EndSub
点击“删除”按钮时将删除当前记录代码
PrivateSubdelete_Click()
Setcmd=NewCommand
s_id=Text1.Text
Withcmd
.ActiveConnection=cn
.CommandText="delete学生基本情况表where学号=?
"
.CreateParameter,adInteger,adParamInput,4
EndWith
cmd.Parameters(0)=s_id
cmd.Execute
MsgBox"成功删除数据"
EndSub
退出系统时系统关闭数据源
PrivateSubForm_unLoad(cancelAsInteger)
cn.Close‘关闭数据源。
EndSub
点击“搜索”按钮时将按学号在表中寻找记录
PrivateSubsearch_Click()
DimerrAsADODB.Error
Setcmd=NewCommand
Setrs=NewRecordset
Withcmd
.ActiveConnection=cn
.CommandText="select*from学生基本情况表where学号=?
"
EndWith
Setp1=cmd.CreateParameter("p1",adInteger,adParamInput)
cmd.Parameters.Appendp1
p1.Value=Text1.Text
Setrs=cmd.Execute‘将执行结果返回给数据集rs。
SetText1.DataSource=rs
SetText2.DataSource=rs
SetText3.DataSource=rs
SetText4.DataSource=rs
SetText5.DataSource=rs
SetText6.DataSource=rs
SetText7.DataSource=rs
EndSub
三、上机实训:
完成上面所讲的例题
四、小结:
通过本章学习,更全面地了解VB开发平台,学会了使用代码开发更加复杂、灵活的数据库应用程序,掌握了VB的代码数据处理控件的使用,学会了使用代码数据处理控件的方法和事件,更加深入地了解VB开发数据库应用程序的知识,为开发完善的数据库应用程序打下了良好的基础。
五、布置作业:
课后复习、预习
六、教学后记:
本章设计的内容很多,而且很难,特别大家以前没有学过VB程序开发,所以学起来会非常辛苦,希望大家课后找点关于VB程序开发的资料来补充所需要的知识点。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第12章 VB开发SQL Server应用程序 12 VB 开发 SQL Server 应用程序
![提示](https://static.bingdoc.com/images/bang_tan.gif)