第八章SQLServer系统实际应用实例.docx
- 文档编号:11690509
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:45
- 大小:523.08KB
第八章SQLServer系统实际应用实例.docx
《第八章SQLServer系统实际应用实例.docx》由会员分享,可在线阅读,更多相关《第八章SQLServer系统实际应用实例.docx(45页珍藏版)》请在冰点文库上搜索。
第八章SQLServer系统实际应用实例
第8章SQLServer系统应用实例
8.1SQLServer2000应用程序接口
8.1.1SQLServer2000应用程序接口概述
8.1.2ODBC应用程序接口
8.1.3OLEDB通用数据访问接口
8.1.4ADO对象
8.2在VB中使用ADO对象开发SQLServer应用程序
8.2.1使用ADO对象访问SQLServer数据库
8.2.2数据库应用程序实例-——教学管理系统
8.3基于Web的SQLServer应用系统开发
8.3.1Web数据库应用概述
8.3.2ASP技术
8.4Web数据库开发实例——教学管理系统
8.4.1系统简介
8.4.2程序代码与说明
本章主要内容
在实际应用环境中,使用企业管理器和查询分析器访问数据库中的数据往往是数据库管理员,大部分的用户还是通过程序员开发的各种应用程序间接访问SQLServer数据库。
SQLServer具有优秀的数据库管理性能,但它并不具备图形用户界面的设计功能,因此不能满足客户端用户数据连接和数据操作的要求。
SQLServer在数据库应用中一般作为应用系统的后端,而前端图形界面的设计与操作一般使用可视化开发工具,如VisualBasic、Delphi、PowerBuilder等来完成。
如果需要将数据和应用程序在网上发布,可使用ASP、ASP.NET、PHP等来实现。
本章重点
1、VB前台语言,SQLServer建立数据库,设计《教学管理系统》
2、ASP前台语言,SQLServer2000后台,设计《教学管理系统》
本章难点
ADO对象的应用
授课方法
讲授+实验+作业
学时:
8课时
授课过程如下:
8.1SQLServer2000
应用程序接口:
数据库应用程序通过SQLServer2000应用程序接口向SQLServer服务器发送SQL语句,实现数据库的访问。
要编写SQLServer2000数据库应用程序,必须学习使用SQLServer应用程序接口。
8.1.1SQLServer2000应用程序接口概述
SQLServer2000提供了丰富的应用程序接口,使程序员可以快速地开发数据库应用程序。
下面我们介绍SQLServer常用的应用程序接口。
1、嵌入式SQL
嵌入式SQL语言就是将SQL语句直接嵌入到程序的源代码中,与其他程序设计语言(例如C语言)语句混合使用。
嵌入式SQL的操作过程如下:
使用SQLServer的预编译程序将嵌入的SQL语句转换为能被程序设计语言的编译器识别的函数调用;
使用程序设计语言的编译器对转换后的文件进行编译,然后连接为可执行程序,即可执行。
2、ODBC开放数据库连接
ODBC是OpenDatabaseConnectivity的缩写,称为开放数据库系统互连,是微软公司在90年代初开发和定义的一套数据库访问标准,用于访问关系型数据库。
使用ODBC开发的应用程序可以访问多种数据库管理系统的数据库,例如SQLServer、Oracle和DB2等。
3、OLEDB通用数据访问接口
OLEDB是微软90年代后期开发的数据访问通用接口,它不仅提供了对关系型数据库的访问,还提供了对各种各样数据源的访问,例如Excel电子表格、dBase的ISAM文件、电子邮件等。
4、JDBCJava数据库接口
JDBC(JavaDataBaseConnectivity)是由SUN公司制定的基于Java语言的数据库访问接口,用于实现Java程序访问SQLServer2000数据库,该接口程序未包含在安装盘中,需到微软公司的网站上下载。
8.1.2ODBC应用程序接口
ODBC是微软公司在90年代初期开发的一种数据库应用程序接口,用于访问关系型数据库,使用ODBC开发的应用程序可以访问多种数据库管理系统的数据库,例如SQLServer、Oracle和DB2等。
ODBC由一组具有精确定义的函数组成,称ODBCAPI函数,用来对数据库进行操作。
在应用程序中,可以直接使用这些函数,而数据库的底层操作由各个数据库的驱动程序来完成。
由于ODBC对数据库应用程序具有良好的适应性和可移植性,所以ODBC在推出后就得到了广泛的应用。
1、ODBC
SQLServer2000包含本机SQLServerODBC驱动程序,可由ODBC应用程序用于访问SQLServer中的数据。
在SQLServer2000中,除isql外的所有其它SQLServer实用工具也都使用ODBCAPI和SQLServerODBC驱动程序。
2、ODBC体系结构
ODBC数据库应用程序由应用程序、驱动程序管理器、驱动程序和数据源4个部分组成,如图所示。
数据库应用程序
驱动程序管理器
SQLServer
数据源
Oracle
数据源
FoxPro
数据源
DB2
数据源
SQLServer
驱动程序
Oracle
驱动程序
FoxPro
驱动程序
DB2
驱动程序
应用程序执行处理并调用ODBC函数。
其主要任务如下:
连接数据库
提交SQL语句给数据库
检索结果并处理错误
提交或者回滚SQL语句的事务
与数据库断开连接
3、驱动程序管理器
ODBC驱动程序管理器是一个驱动程序库,负责应用程序和驱动程序间的通信。
对于不同的数据库系统,驱动程序管理器将加载相应的驱动程序到内存中,并将后面的SQL请求传送给正确的ODBC驱动程序。
ODBC应用程序不能直接存取数据库,应用程序的操作请求需要由驱动程序管理器提交给正确的驱动程序。
而驱动程序负责将对数据库的请求操作传送到数据库管理系统(DBMS),并把结果返回给驱动程序管理器。
然后驱动程序管理器再将结果返回给应用程序,由应用程序处理,并处理错误信息。
Applet的安全机制
applet
浏览器
SERVER
本地程序
file
SERVER
本机
connection
connection
下载applet的
与applet无关的
本地方法
4、数据源
数据源(DataSourceName.DSN)是连接数据库驱动程序与数据库管理系统(DBMS)的桥梁,它定义了数据库服务器名称、访问的数据库、登录名称和密码等选项。
数据源分为3类:
文件数据源、系统数据源和用户数据源,最常用的是系统数据源。
通常,应用程序是通过数据源名来访问数据库。
概括地说,使用ODBC进行编程之前,要先安装相应的ODBC驱动程序,再配置ODBC数据源。
ODBC数据源包括以不同的格式存储的数据,而不仅仅是SQL数据库中的数据。
应用程序使用ODBC驱动程序访问数据源。
ODBC驱动程序是一个动态链接库(DLL),它接受对ODBCAPI函数的调用并采取任何必要的操作来处理对数据源的请求。
5、配置ODBC数据源
使用ODBC编程之前,要先安装相应ODBC驱动程序,再配置ODBC数据源。
通常,SQLServer2000ODBC驱动程序已经内嵌在WINDOWS操作系统中。
下面,我们仍然以教学数据库(teachdb)为例来介绍配置SQLServer的ODBC数据源,数据源名为“教学”,
操作步骤:
(1)在控制面板中,单击“管理工具”,然后执行“数据源(ODBC)”命令,打开“ODBC数据源管理器”对话框,如图8-2所示。
数据
源名
ODBC驱动
程序
图8-2ODBC数据源管理器
该窗口用来设置ODBC数据源及其驱动程序等。
各主要选项卡的功能如下:
●用户DSN显示了当前登录用户使用的数据源清单。
●系统DNS显示了可以由系统中全部用户使用的系统数据源清单。
●文件DNS显示了允许连接到一个文件提供程序的数据源清单。
●驱动程序显示了所有已经安装的各种数据库系统的ODBC驱动程序。
(2)在
选项卡中,单击
按钮,打开“创建新数据源”对话框,在“名称”列表框中选择SQLServer,如图8-3所示。
SQLServer
ODBC驱动程序
程序
图8-3“创建新数据源”对话框
(3)单击
按钮,打开“建立新的数据源到SQLServer“对话框,如图8-4所示。
在“名称”文本框中输入新数据源的名称,如:
教学。
在“说明”文本框中输入对该数据源的说明,然后在“服务器”下拉列表框中选择要连接到的服务器如:
DBSERVER。
图8-4“建立新的数据源到SQLServer”对话框
(4)单击
按钮,系统提示选择验证模式,如图8-5所示。
图8-5选择验证模式
在此选择
选项,并输入登录ID和密码。
(5)单击
按钮,系统提示用户设置默认数据库等选项,如图8-6所示。
在此,更改默认数据库为教学数据库teachdb。
图8-6设置连接的默认数据库
(6)保持其余默认设置,单击
按钮,系统提示用户设置驱动程序使用的语言,字符集区域设置和日志文件等,如图8-7所示。
图8-7设置驱动程序使用的语言、字符集等
(7)单击
按钮,出现“ODBCMicrosoftSQLServer安装”对话框,如图8-8所示。
其中显示了新数据源的配置选项。
测试数据源
图8-8“ODBCMicrosoftSQLServer安装”对话框
(8)单击
按钮,打开“SQLServerODBC数据源测试”对话框,其中显示了SQLServer的驱动程序版本号,并显示测试是否成功的消息。
单击
按钮,可返回到“ODBCMicrosoftSQLServer安装”对话框。
(9)单击
按钮,即可创建一个新的数据源。
Applet的主要方法
构造方法
init()
start()
完成Applet的初始化操作
都是在Applet被激活前执行的,因此不能用它们来实现Applet的功能
8.1.3OLEDB数据访问接口
OLEDB是微软在90年代后期采用面向对象技术开发的数据访问通用接口,它创建于微软的OLE(对象的链接与嵌入)技术基础上。
OLEDB的优点是可以和任何VisualStudio产品协同工作,例如VisualC++,VisualBasic等。
它的推出,得到了广泛的支持。
可以直接使用OLEDB进行数据库应用程序开发,为了使用户方便地使用OLEDB开发数据库应用程序,微软将OLEDBAPI封装在一个简化了的基于组件(COM)技术的对象模型ADO(ActiveXDataObjects)中,通过ADO,程序员可以快速地开发数据库应用程序,使用ADO是SQLServer2000数据库应用程序开发的有效途径。
1、Applet的运行控制关系
一个使用paint()方法绘制字符串的Applet程序
Java.applet.Applet
publicvoidinit()
publicvoiddestroy()
publicvoidstart()
publicvoidstop()
publicvoidpaint(Graphicsg)
2、OLEDB体系结构
微软定义了OLBDB的4个层次:
数据提供者使用OLEDBSDK(软件开发工具)创建OLEDB提供者(Provider)的人。
数据消费者访问数据库中信息的应用程序,系统驱动程序或者用户。
数据服务提供者创建用以增强用户或者数据库管理员使用管理数据库能力的独立应用程序。
例如,查询分析器就是一个数据服务提供者。
部件开发者创建应用程序模块或部件,以减少创建数据库应用程序所需的编码工作。
例如,VisualBasic中提供的ADO控件。
关系
一般来说,数据库应用程序即OLEDB消费者是通过OLEDB用户界面和OLEDB提供者(Provider)来访问数据源,它们之间的关系如图8-9所示。
数据源
应用程序(OLEDB消费者)
OLEDB界面(例如ADO等)
OLEDB提供者
对于不同的OLEDB提供者,OLEDB提供不同级别的功能,但是它们都支持一个通用的用户界面。
不同的OLEDB数据源使用自己的OLEDB提供者,如图8-10所示。
ADO对象模型
ADO是一个OLEDB消费者,它封装了OLEDB复杂性,以极为简单的接口存取数据,简化了数据库应用程序的编写,易于使用,性能好,占用内存和磁盘空间少,并且支持基于客户机/服务器的Web数据库应用程序。
使用者只需在程序中建立ADO对象,设置对象相应的属性,调用相关方法,即可完成数据库访问。
ADO对象模型
ADO的对象模型为层次结构,如图8-11所示。
其中每个Connection,Command,Recordset和Field对象都有集合。
Connection
Errors集合
Error
Command
Parameters集合
Parameter
Recordset
Fields集合
Field
图8-11ADO的对象模式
ADO提供的对象及功能
ADO提供的对象及基本功能如表8-1所示。
除了上述对象外,ADO还提供了Fields、Parameters、Errors、Properties等集合对象。
主要的ADO对象
在上述众多对象中,主要的ADO对象有3个:
连接对象Conection,数据查询对象Command和查询所得记录集对象Recordset。
Connection对象
Connection对象用于建立应用程序与数据源之间的通信连接。
如果是网络环境下的客户端/服务器数据库系统,该对象可等价于客户机到数据库服务器的实际网络连接。
在建立连接后,可通过Command对象与Recordset对象来访问数据库中数据。
Connection对象的主要属性
Connection对象的主要属性如表8-3所示。
Connection对象的常用方法
Connection对象的常用方法如表8-4所示,其中Open用于打开Connection对象,并建立连接。
Excute方法常用于简单查询。
对复杂的数据库操作应使用Command对象。
Recordset对象
Recordset对象(记录集对象)用于存储Connection对象和Command对象的查询结果,应用程序中再利用程序语言来处理该Recordset对象中的记录,Recordset对象主要属性见表8-5。
Recordset对象的常用方法
Recordset对象的常用方法见表8-6,其中Open用于打开Recordset对象,并对Command对象或Connetion对象加以引用。
Recordset对象有11个事件,这里也不说明了。
Command对象
Command对象主要用于对数据库进行复杂查询,它的功能强大,并可运行存储过程和参数化查询。
Command对象如表8-7所示。
Command对象
Command对象最常用方法是Excute方法。
Excute方法用于执行SQL查询命令,并返回打开的结果集对象(Recordset)。
也可以用Excute方法执行其它的数据定义命令或存储过程。
Connection,Command,Recordset虽然是3个不同的对象,但是三者之间是互相关联,分工协作的。
通常,在Connection对象实现了应用程序与数据源之间的通信连接后,执行Command对象的Excute方法实现数据库查询,数据库服务器响应后,再将查询结果存入Recordset对象中。
Command对象必须依赖于Connection对象,而Recortset对象要视Connection对象与Command对象的状态而定。
8.2在VB中使用ADO对象开发SQLServer应用程序
微软在VisualBasic6.0中成功地引入了功能强大的ADO对象作为新的数据库访问标准,它内置了SQLServer的OLEDB驱动程序。
另外,为了使数据库应用程序能实现字段的绑定,VisualBasic6.0还提供了一个封装了ADO对象的ADOData控件,使用该控件可以开发简单的数据库访问程序,复杂的数据库访问程序的开发仍必须使用ADO对象,ADOData控件可以起到辅助作用。
8.2.1使用ADO对象访问SQLServer数据库
在VisualBasic6.0中,使用ADO对象进行数据库访问有多种方式,例如:
使用Connection对象和Recordset对象配合使用,实现简单查询。
Connection对象、Recordset对象和Command对象配合使用实现复杂查询。
使用Command对象执行SQLServer的存储过程。
ADO对象的引用
在VisualBasic6.0中使用ADO对象编程之前,必须先设置对ADO类库的引用。
现以创建一个本书教学数据库teachdb的应用项目为例,其操作步骤:
(1)启动VisualBasic,创建一个新的工程,并将工程名称设置为“学生管理”,窗体名称设置为frmStudent。
Caption属性设置为“学生信息”。
在
菜单中,执行
命令,打开“引用”对话框,如图8-12所示。
引用对话框
图8-12ADO的对象的“引用”
(2)在“可用的引用”列表框中,找到“MicrostoftDataObjects2.6Library”选项,并选中前面的复选框。
(3)单击
按钮,即可在VisualBasic6.0中增加对ADO对象的引用。
如果要查看ADO提供的对象的属性、方法和集合等内容,可以在
菜单中,执行
命令,打开“对象浏览器”对话框,如图8-13所示。
在顶部的列表中选择ADODB,在侧窗格即可显示出ADO中的对象,而右侧窗格则显示出左侧窗格中选中的对象的属性、方法等。
各对象的方法、属性
ADO各对象
图8-13“对象浏览器”浏览ADO对象
2.Connection对象、Recordset对象和Command对象配合使用实现数据查询
操作基本步骤如下:
(1)定义Connection对象、Recordset对象和Command对象。
(2)设置Connection对象的连接串ConnectionString属性,准备连接数据库。
ConnectionString属性的常用参数见表8-8所示。
表8-8ConnectionString属性的常用参数
Provider参数
指定OLEDB提供者,缺省值是MSDASQL,指ODBC资源提供者
Server属性
SQLServer服务器名,也可用数据源名
DSN属性
使用ODBC时,当前机器的ODBC数据源
InitialCatalog属性
设置连接的默认数据库,也可用DataBase参数
UserID属性
用户名
Password属性
用户口令
(3)使用Connection对象的Open方法建立到数据源的物理连接。
(4)设置Command对象的ActiveConnection属性以便同打开的Connection对象进行关联。
(5)使用Command对象的CommandText属性定义要执行的SQL语句文本。
(6)使用Command对象的Execute方法执行命令并在需要的时候返回给Recordset对象。
(7)处理Recordset对象中的数据。
(8)关闭连接
【例8.1】实现对教学数据库teachdb中课程表(course)的浏览和添加操作,并使新添加的课程信息在列表框中立即显示。
如图8-14,图8-15所示。
操作步骤:
在VB中新建一个工程,在工程中建一窗口,名为frmCourse,标题为“课程信息”,加入下列控件,如图8-14所示。
图8-14“课程信息”浏览界面示例图8-15“课程信息”插入界面示例
窗口中各控件名称及属性设置如表8-11所示。
表8-11控件名称及属性
控件名称
类型
Caption属性
说明
TxtC_no
文本框
左边为“课程号”标签
TxtC_name
文本框
左边为“课程名”标签
TxtC_score
文本框
左边为“学分”标签
CmdAdd
按钮
添加
CmdList
按钮
浏览
DataGrid1
数据网格(Datagrid)
其中DataGrid控件,需要在VisualBasic6.0的
菜单中运行
命令添加部件
后,才可在工具箱中找到它的图标
,如图8-16,8-17所示。
DataGrid控件
图8-16添加“部件”对话框图8-17DataGrid控件
程序代码:
'通用定义
DimcnAsNewADODB.Connection'定义Connection对象
DimrsAsNewADODB.Recordset'定义Recordset对象
DimcmdAsNewADODB.Command'定义Command对象
'窗体Load事件代码
PrivateSubForm_Load()
cn.ConnectionTimeout=30'设置连接对象属性
cn.CursorLocation=adUseClient
cn.ConnectionString="DRIVER=SQLServer;SERVER=dbserver;uid=sa;pwd=sa;DATABASE=teachdb"
cn.Open'打开连接
EndSub
'CmdAdd按钮Click事件代码
PrivateSubCmdAdd_Click()
Setcmd.ActiveConnection=cn
cmd.CommandText="INSERTcourseVALUES(?
?
?
)"'带参数的SQL语句
cmd.CreateParameter,adChar,adParamInput,4'参数1定义
cmd.CreateParameter,adChar,adParamInput,10'参数2定义
cmd.CreateParameter,adInteger,adParamInput,4'参数3定义
cmd.Parameters(0)=TxtC_no.Text
cmd.Parameters
(1)=TxtC_name.Text
cmd.Parameters
(2)=TxtC_score.Text
cmd.Execute'运行SQL语句
cmd.CommandText="SELECT*FROMcourse"
Setrs=cmd.Execute
SetDataGrid1.DataSource=rs
EndSub
'CmdList按钮Click事件代码
PrivateSubCmdList_Click()
Setcmd.ActiveConnection=cn
cmd.Co
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八 SQLServer 系统 实际 应用 实例