《数据库应用程序开发.ppt》由会员分享,可在线阅读,更多相关《数据库应用程序开发.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库应用程序即前端应用程序客户程序也称为前端应用程序。前端应用程序的宿主计算机称为客户计算机。服务器提供的客户端软件接口可以使客户程序连接到网络中的 SQL Server 实例所提供的SQL Server服务。客户/服务器数据库系统的工作模式:客户计算机客户端应用程序服务器计算机SQL SERVER连接与访问请求结果集数据库连接的主要类型OLE DB: 即使用用于 SQL Server 的 Microsoft OLE DB 提供程序或用于 ODBC 的 Microsoft OLE DB 提供程序与SQL Server 实例及数据库连接 。ODBC : 即使用 SQL Server ODBC
2、驱动程序连接到 SQL Server 实例。 ODBCODBC是Open Database Connectivity的缩写,称为开放数据库系统互连,是微软公司 开发和定义的一套基于关系数据库访问标准。体系结构:数据库应用程序驱动程序管理器SQL SERVER驱动程序ACCESS驱动程序SQL SERVER数据源ACCESS数据源 ODBC 数据源ODBC 应用程序使用数据源连接到 SQL Server实例。数据源是一个存储定义,记录: 连接到数据源所使用的 ODBC 驱动程序。 ODBC 驱动程序连接到数据源所使用的信息。 连接所使用的驱动程序特有的选项。客户端上的每个 ODBC 数据源都有一
3、个唯一的数据源名称 (DSN)。SQL Server ODBC 驱动程序的 ODBC 数据源包含用于连接到 SQL Server 实例的全部信息以及任何基本选项。定义ODBC 数据源(1)定义ODBC 数据源(2)定义ODBC 数据源(3)定义ODBC 数据源(4)定义ODBC 数据源(5)定义ODBC 数据源(6)OLE DBOLE DB创建于OLE技术基础上,是微软开发的数据访问系统级编程接口 。它对ODBC进行了扩展,提供了对关系数据库的访问的标准界面,并可以访问非关系型数据库和其他的一些资源,如Excel表等通过 OLE DB 建立 SQL Server 连接一般使用: 用于 SQL
4、Server 的 Microsoft OLE DB 提供程序 (SQLOLEDB)。用于 ODBC 的 Microsoft OLE DB 提供程序。建议用户使用 ADO Data 控件来创建新的数据库应用程序。访问数据的一个重要步骤是为想要访问的每个数据库都创建一个 OLE DB 数据源。创建数据连接创建数据连接创建数据连接用VFP 作为SQL SERVER的客户端(1)用VFP 作为SQL SERVER的客户端(2)用VFP 作为SQL SERVER的客户端(3)用VFP 作为SQL SERVER的客户端(4)用VFP 作为SQL SERVER的客户端(5)用VFP 作为SQL SERVER
5、的客户端(6)ASP访问SQL SERVER数据库的方式 (1 1)ADOADO 一般编程语言都提供的ADO 组件,用于客户端程序,来访问数据库。 ADO(Active Data Object,活动数据对象),是一种操作Wicrosoft所支持 的数据库的方法,由一系列的对象所组成。应用这些功能强大的对象,即可轻松完成对数据库存复杂的操作。 (2 2) RDSRDS RDS RDS(REMOTE Data SERVICE,远程数据服务),基于ADO,比ADO更优越,能更好地支持远程数据操作,性能更好。使用ASP 的ADO Data 控件建立与数据库的连接(1) ADO组件共有七个对象和四个数据
6、集合组成, 这七个对象包括Connection对象、Recordset对象、Parameter对象、Command对象Field对象、Error对象和Property对象。 四个集合包括Errors数据集合、Fields数据集合、Parameters数据集合和Properties数据集合组成 使用ASP 的ADO Data 控件建立与数据库的连接(2)(1)七个对象: Connection对象:负责与指定的数据库进行连接。 Command对象:负责向数据库传递指定的SQL请求。 Recordset对象:负责浏览与操作从数据库取出的数据。 Parameter对象:负责传递Command对象所需要
7、的SQL参数。 Field对象:表示指定ADO的各项对象属性值。 Error对象:负责记录连接过程所发生的错误信息。 Property对象:(2) 四个数据集合: Errors数据集合中包括数据源响应失败时所建立的Error的对象。 Parameters数据集合包括Command对象所有的Parameter对象。 Fields数据集合Recordset对象的所有Field数据字段对象。 Properties数据集合包含对应Connection对象、Command对象、Recordset对象与Field对象的Property对象。虚拟目录 用于存放web页面 虚拟目录的属性:(1)读:将目录内容
8、从IIS传递到浏览器(2)执行:可读并可执行ASP脚本(3)写入:若要允许用户将文件及其相关属性上载到服务器上已启用的目录中,或者更改可写文件的内容(4)目录浏览:允许用户查看该虚拟目录中的文件和子目录的超文本列表(5)脚本资源访问:允许用户访问已经设置了“读取”或“写入”权限的资源代码。资源代码包括 ASP 应用程序中的脚本。ASP 对象的使用-Server对象: 是ASP内建对象 提供对服务器上的方法和属性的访问 属性:服务器运行时限为100。 方法:DBPath = Server.MapPath(“flydb.mdb”) 获取文件物理目录 方法: set conn=server.crea
9、teobject(adodb.connection)用于创建已注册到服务器上的Active X组件实例(对象作用域为本页面内)ADO数据库链接(Connection) 对象的使用: 举例: set conn=server.createobject(adodb.connection) Conn.cursorlocation=adUseClient 使用客户端游标,更灵活(属性) Conn.ConnectionString=“driver=SQL Server;server=gao;uid=sa;pwd=sa;database=db1”(属性) Conn.open(方法)ADO数据集( Recor
10、dset) 对象的使用(1):%Set rs = Server.CreateObject(ADODB.RecordsetSet rs = Server.CreateObject(ADODB.Recordset)na=trim(request.Form(na)na=trim(request.Form(na)pw=trim(request.Form(pw)pw=trim(request.Form(pw)cl=trim(request.Form(cla)cl=trim(request.Form(cla)sql = Select sql = Select * * FROM admin WHERE FR
11、OM admin WHERE (user=&na&)and(password=&pw& )and (class=&cl& ) (user=&na&)and(password=&pw& )and (class=&cl& ) rs.open sql,connrs.open sql,conn,1,1,1,1(属性)(属性) rsrs. . CursorType:(属性)(属性) rsrs. . LockType:(属性)(属性) rs.Eofrs.Eof判断记录指针位置是否到达记录集末尾判断记录指针位置是否到达记录集末尾(属性)(属性) rs.RecordCountrs.RecordCount返回记
12、录数返回记录数(方法)(方法) rsrs.open.openADO数据集( Recordset) 对象的使用(2):(方法)(方法) rsrs.close.close(方法)(方法) rs.movenext/movefirst/movelast/movepreviousrs.movenext/movefirst/movelast/moveprevious(方法)(方法) rs.addnew rs.addnew )建立一个空记录建立一个空记录 rs(“user”)=“wangrs(“user”)=“wang” rs(“user”)=“wang rs(“user”)=“wang” rs rs.up
13、date.update将新记录提交将新记录提交(该对象的数据集合)(该对象的数据集合)% for I=1 to rs.fields.count-1 %连接步骤 在ASP中,访问数据库操作步骤可以归纳为以下几步: 1)创建数据源名(DSN)。 2)创建数据库链接(Connection)。 3)创建数据对象。 4)操作数据库。 5)关闭数据对象和链接。应用ODBC数据源 (1)使用已定义的DSN或使用连接字符串或使用连接字符串 (2)不预先定义,直接用应用OLEDB数据连接(1)使用已定义的DSN(2)不预先定义,直接用编程举例-设置IIS程序举例1p5.htm用户登录用户登录 姓名
14、 学号 程序举例1p4.aspNew Page 1%if trim(request.form(T1) and trim(request.form(T2) thenset cnn =server.createobject(adodb.connection) set cmd=server.createobject(mand) set rst=s
15、erver.createobject(adodb.recordset) cnn.opendsn=sql2000;uid=sa;pwd=sa;datsbase=db1 cnn.cursorlocation=3 cmd.activeconnection=cnn mandtype=1 mandtext=select * from 学生 where 学号=&trim(request.form(T2)&and 姓名=&trim(request.form(T1)& set rst=cmd.execute if rst.recordcount0 then response.Write(恭喜注册成功!) el
16、se response.Write(注册失败!) end ifend if%程序举例1结果执行p5.asp程序举例1结果执行p5.asp程序举例1结果执行p5.asp程序举例1结果执行p5.asp程序举例2p1.asp%response.Write例1set cnn =server.createobject(adodb.connection) cnn.opendsn=sql2000;uid=sa;pwd=sa;datsbase=pubs commandtext=select * from employee set rst=cnn.execute(commandtext,20,1) response.Write response.Write for i=0 to rst.fields.count-1 response.Write&rst(i).name& next response.Writewhile not rst.eof response.Write for i=0 to rst.fields.count-1 response.Write &rst(i).value& nextrst.movenextresponse.Write wendresponse.Write set cnn=nothing %程序举例2结果执行p1.asp