ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:661.51KB ,
资源ID:9572202      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-9572202.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ASPNET35开发大全第10章.docx)为本站会员(b****8)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

ASPNET35开发大全第10章.docx

1、ASPNET35开发大全第10章第10章 访问其他数据源在ADO.NET体系中,非常重要的组件就是.NET Data Provider,它负责建立与数据库之间的连接并执行数据操作。ADO.NET提供了多种.NET Data Provider,负责连接不同的数据库。在前面的章节中,通常使用的是SQL Server .NET Data Provider,使用其他的.NET Data Provider能够访问其他类型的数据库。10.1 使用ODBC .NET Data ProviderODBC(Open Database Connection,开放式数据互连)是访问数据库的一个统一的接口标准。在C+

2、开发中,经常使用ODBC来与数据库互连,.NET同样提供了连接ODBC的方法。ODBC可以让开发人员通过API来访问多种不同的数据库,包括SQL Server、Access、MySql等。10.1.1 ODBC .NET Data Provider简介ODBC(Open Database Connection,开放式数据互连)是访问数据库的一个统一的接口标准,它允许开发人员使用ODBC API(应用程序接口)来访问多种不同的数据源,并执行数据操作。当使用应用程序时,应用程序首先通过使用ODBC API与驱动管理器进行通信。ODBC API由一组ODBC函数调用组成,通过API调用ODBC函数提

3、交SQL请求,然后驱动管理器通过分析ODBC函数并判断数据源的类型。驱动管理器会配置正确的驱动器,然后将ODBC函数调用传递给驱动器。最后,驱动器处理ODBC函数调用,把SQL请求发送给数据源,数据源执行相应操作后,驱动器返回执行结果,管理器再吧执行结果返回给应用程序,如图10-1所示。图10-1 ODBC原理图使用命名空间System.Data.Odbc才能够使用ODBC .NET Data Provider来访问ODBC数据源,并且支持对原有的ODBC驱动程序的访问。通过ODBC能够连接和执行数据操作,其访问方式和SQL Server .NET Data Provider相似,都需要先与数

4、据源建立连接并打开连接,然后创建Command对象执行相应操作,最后关闭数据连接。通过ODBC驱动程序访问数据源与SQL Server .NET Data Provider相同,ODBC .NET Data Provider同样包含Connection、Command、DataReader等类为开发人员提供数据的遍历和存取等操作,这些类和功能如下所示。 OdbcConnection:建立与ODBC数据源的连接。 OdbcCommand:执行一个SQL语句或存储过程。 OdbcDataReader:与Command对象一起使用,读取ODBC数据源。 OdbcDataAdapter:创建适配器,用

5、来填充DataSet。 OdbcCommandBuilder:用来自动生成插入、更新、删除等操作的SQL语句。上述对象在ADO.NET中经常遇到,在前面的章节中,SQL Server .NET Data Provider同样包括这些对象,使用ODBC操作数据源的操作方法与SQL Server .NET Data Provider基本相同,使得开发人员无需额外的学习即可轻松使用。10.1.2 建立连接ODBC .NET Data Provider连接数据库有两种方法,一种是通过DSN连接数据库,第二种就是使用OdbcConnection对象建立与数据库的连接。1使用DSN的连接字符串进行连接使用

6、DSN(Data Source Name,数据源名)连接数据库,必须首选创建ODBC数据源,当创建一个ODBC数据源时,需要在管理工具中配置。在开始菜单中找到并打开【控制面板】,然后在【控制面板】中选择【管理工具】选项,在【管理工具】选项中选择【数据源(ODBC)】选项,选择后还需要选择【系统DSN】标签用于系统DSN的配置,如图10-2所示。单击【添加】按钮,在弹出的对话框中选择合适的驱动程序,由于这里需要使用DSN连接ACCESS数据库,就需要选择ACCESS数据库的相应的驱动,这里选择【Microsoft Access Driver(*mdb)】选项,如图10-3所示。 图10-2 数据

7、源管理器 图10-3 创建新数据源单击【选择】按钮可以为需要使用数据库的应用程序选择相应的数据库,在选择完成相应的数据库后就能够在应用程序中使用DSN连接该数据源,如图10-4所示。图10-4 选择数据源选择好相应的驱动程序后,系统会弹出【ODBC Microsoft Access安装】对话框并为驱动设置数据源名和说明,如图10-5所示。单击【确定】按钮就完成了数据源的配置,如图10-6所示。 图10-5 命名数据源 图10-6 数据源配置完毕当配置完成数据源后,就可以编写.NET应用程序来访问数据源。打开Visual Studio 2008,选择【ASP.NET Web应用程序】选项,如图1

8、0-7所示。图10-7 创建ASP.NET应用程序当创建完成数据源之后,就可以使用OdbcConnection对象连接应用程序和数据库,与连接字串一样,OdbcConnection对象需要使用Open方法才能打开与数据库之间的连接。在使用OdbcConnection对象同样需要使用命名控件System.Data.Odbc,示例代码如下所示。using System.Data.Odbc;引用了System.Data.Odbc命名空间后,就可以创建Connection对象进行数据连接,示例代码如下所示。 string str = DSN=guojing; /使用ODBC数据源 OdbcConnec

9、tion con = new OdbcConnection(str); /创建OdbcConnection对象 con.Open(); /打开数据库连接上述代码使用了ODBC数据源,数据源的名称和刚才创建的名称相同,数据库连接字串直接使用“DNS=数据源名称”即可。打开了与数据库的连接后,即可对数据库进行操作,操作方法同样和普通的方法没有区别。如果希望执行查询语句并填充数据集,则需要创建DataAdapter对象和DataSet对象,示例代码如下所示。 string strsql = select * from mytable; OdbcDataAdapter da = new OdbcDat

10、aAdapter(strsql,con); /创建DataAdapter对象 DataSet ds = new DataSet(); /创建DataSet da.Fill(ds, tablename); /填充数据集若需要执行插入、更新、删除等操作,可以使用Command对象执行相应的操作,示例代码如下所示。 OdbcCommand cmd = new OdbcCommand(insert into mytable values (title),con); cmd.ExecuteNonQuery(); /执行SQL语句当需要对其他的数据源执行操作时,在配置DSN时配置其他数据源和数据源驱动程序

11、即可,如图10-8所示。图10-8 配置其他数据源使用ODBC配置数据源有一些好处,就是能够为其他类型的数据库配置数据驱动而不用考虑驱动如何进行手动方式连接。2使用接字符串进行连接(ACCESS)ACCESS数据库是桌面级的数据库,是以一种文件形式保存的数据库。在使用ACCESS数据库时,很多情况下都不能依靠ODBC建立数据驱动来连接数据库,在这种情况下,需要使用连接字符串连接ACCESS数据库,示例代码如下所示。 string str = provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=D:ASP.NET 3.5源代码第10章10-110-1ac

12、c.mdb; /配置数据库路径上述代码使用了Micorsoft.Jet.OLEDB 4.0驱动进行ACCESS数据库的连接。在上述代码中,ACCESS文件的地址为“D:ASP.NET 3.5源代码第10章10-110-1”。但是这样编写代码有若干坏处,最大的坏处就是暴露了物理路径,当非法用户访问或获取代码后,能容易的就能够获取数据库的信息并通过下载工具下载数据库,这样是非常不安全的。为了提高应用程序的安全性,开发人员可以使用Server.MapPath方法指定相对路径,示例代码如下所示。 string str = provider=Microsoft.Jet.OLEDB.4.0 ;Data S

13、ource= + Server.MapPath(acc.mdb) + ;上述代码指定了数据库的文件,以及相对路径,当acc.mdb与文件夹路径相同时,系统会隐式的补完绝对路径,而不会轻易的暴露物理路径,如果acc.mdb在文件夹的上层路径,则只需要使用“./”来确定相对路径。当指定数据库文件地址后,可以使用Connection对象进行数据库连接操作并使用Open方法打开数据连接,示例代码如下所示。 OdbcConnection con = new OdbcConnection(str); /配置连接对象 con.Open(); /打开连接3使用接字符串进行连接(SQL Server)SQL S

14、erver数据库可以采用两种不同的连接方式,正如SQL Server Management Studio中注册连接一样,包括Windows安全认证和SQL Server验证两种验证方式,SQL Server Management Studio中注册连接的方式如图10-9所示。图10-9 SQL Server的两种连接方式当使用Windows安全认证进行数据连接时,SQL Server无需用户提供连接的用户名和密码即可连接,因为Windows安全认证是通过Windows登录时的账号来登录的。开发ASP.NET应用程序时,需要显式的声明这是一个安全的连接,示例代码如下所示。 Driver=SQL

15、Server; Server=(local);Database=mytable;Trusted_Connection=Yes;如果需要使用SQL Server验证方式连接数据库,就不能够使用Trusted_Connection属性进行数据连接,而需要配置User=用户名;Password=密码,示例代码如下所示。 Driver=SQL Server; Server=(local);Database=mytable;User ID=sa;Password= ;10.2 使用OLE DB.NET Data ProviderOLE DB是访问数据库的另一个统一的接口标准,它建立在ODBC基础之上,通

16、过OLE DB可以访问关系型数据库和非关系型数据库,OLE DB不仅使应用程序和数据库之间的交互减少,还能够最大限度的提升数据库性能。10.2.1 OLE DB.NET Data Provider简介OLE DB(Object Link and Embedding Database,对象连接与嵌套数据库)是访问数据库的另一个统一的接口标准,它建立在ODBC基础之上,不仅能够提供传统的数据库访问,并且能够访问关系型数据库和非关系型数据库。OLE DB其本质就是一个封装数据库访问的一系列COM接口,使用COM接口不仅能够减少应用程序和数据库之间的通信和交互,也能够极大的提升数据库的性能,让数据库的

17、访问和操作更加便捷。OLE DB.NET Data Provider是OLE DB数据源的托管数据提供者,OLE DB.NET Data Provider能够在不更改COM组件的情况下,使用COM Interpol来使用OLE DB.NET Data Provider访问数据源,如果需要使用OLE DB.NET Data Provider访问数据源,则必须存在一个支持OLE DB.NET Data Provider的OLE DB Provider。OLE DB.NET Data Provider访问原理图如图10-10所示。图10-10 OLE DB.NET Data Provider原理图O

18、LE DB.NET Data Provider支持OLE DB Provider包括: SQLOLEDB:用来访问SQL Server数据库。 MSDAORA:用来访问Oracle数据库。 Microsoft.Jet.OLEDB.4.0:用于访问Access等使用Jet引擎的数据库。使用OLE DB.NET Data Provider访问数据库同ODBC .NET Data Provider相同,具有Connection对象、Command对象等用于数据库的连接和执行,以及数据存储等,常用对象如下所示。 OleDbConnection:建立与ODBC数据源的连接。 OleDbCommand:执

19、行一个SQL语句或存储过程。 OleDbDataReader:与Command对象一起使用,读取ODBC数据源。 OleDbDataAdapter:创建适配器,用来填充DataSet。 OleDbCommandBuilder:用来自动生成插入、更新、删除等操作的SQL语句。这些常用的对象使用方法同其他ADO.NET数据操作类相同,使用Connection对象进行数据库连接,连接后,使用Command对象进行数据库操作,并使用Close方法关闭数据连接。10.2.2 建立连接使用Ole Db连接数据库基本只需要使用字符串连接方式即可,当需要使用Ole Db中的对象时,必须使用命名空间System

20、.Data.OleDb,示例代码如下所示。using System.Data.OleDb; /使用OleDb命名空间使用命名空间后,就能够创建Ole Db的Connection对象,以及Command对象对数据库进行连接和数据操作。1使用接字符串进行连接(ACCESS)Access数据库是一种桌面级的数据库,同文件类型的数据库类似,所以连接Access数据库时,必须指定数据库文件的路径,或者使用Server.MapPath来确定数据库文件的相对位置。示例代码如下所示。 string str = provider=Microsoft.Jet.OLEDB.4.0 ; Data Source= +

21、Server.MapPath(access.mdb) + ; /设置连接字串 OleDbConnection con = new OleDbConnection(str); /创建连接对象 try con.Open(); /打开连接 Label1.Text = 连接成功; /显式提示信息 con.Close(); /关闭连接 catch(Exception ee) /抛出异常 Label1.Text = 连接失败; 上述代码设置了Access数据库连接字串,并使用OleDb的Connection方法创建数据连接,创建连接后打开数据连接,如果数据连接打开成功,则返回成功,否则返回连接失败。2使用

22、接字符串进行连接(SQL Server)当需要连接SQL Server时,无需对连接、执行等操作进行修改,只需要对数据库连接字串进行修改即可,示例代码如下所示。 OleDbConnection con= new OleDbConnection(); con.ConnectionString=Provider=SQLOLEDB;Data Source=(local);Initial Catalog=mytable;uid=sa;pwd=sa; /初始化连接字串 try con.Open(); /尝试打开连接 Label1.Text = 连接成功; /显式连接信息 con.Close(); /关闭

23、连接 catch Label1.Text = 连接失败; /抛出异常 上述代码只需修改连接字串的格式,而无需修改其他ADO.NET中的对象,以及对象执行的方法即可。10.3 访问MySqlMySql是一个开源的小型关系型数据库,MySql数据库功能性强、体积小、运行速度快、成本低和安全性强,并且广泛的被中小型应用所接受。MySql通常情况下和PHP一起开发使用,在ASP.NET中,同样能够使用MySql进行数据库的存储。10.3.1 MySql简介MySql(http:/www.MyS)是一套开源的小型关系型数据库,MySql能够执行标准的SQL语句进行数据操作。MySql能够支持多种操作系统

24、,包括Windows、Linux、Mac OS等等,是一种跨平台的数据库产品,并且MySql还为多种语言提供了API,这些语言包括传统的C/C+也包括新近的Python和Ruby,MySql具有功能性强、体积小、运行速度快、成本低和安全性强等特点,MySql还具有以下特性: MySql具有客户端/服务器结构的分布式数据库管理系统。 支持多个操作系统。 为多种编程语言提供API。 支持多用户,多线程操作数据库。 提供了TCP/IP,ODBC和JDBC等多种数据库连接方式。 优化SQL语句能力,提升性能。 支持ANSI标准的所有数据类型。 开放源代码,并且可以免费下载安装。MySql不仅具有良好的

25、性能表现,同时MySql还能够执行复杂的SQL语句操作,但是MySql的缺点就在于无法创建和使用存储过程,缺少一些大型数据库所必备的功能。10.3.2 建立连接ASP.NET应用程序需要使用ODBC .NET Data Provider连接MySql数据库。在连接数据库之前,MySql数据库能够被.NET Data Provider识别和驱动必须首先安装MySql ODBC驱动程序(MySql-connector-odbc-5.1.5),开发人员可以在官方网站免费获取MySql ODBC驱动程序并免费下载(http:/dev.MyS ODBC驱动程序就会弹出安装向导,并提示安装。通常情况下,只

26、需要选择典型安装即可如图10-11和图10-12所示。 图10-11 安装MySql ODBC驱动程序 图10-12 选择安装类型选择完成后,单击【Next】按钮后即可完成安装。安装完成MySql ODBC驱动程序后,单击【开始】菜单找到【控制面板】,在【控制面板】的【管理工具】中选择【数据源ODBC】选项,并在【数据源ODBC选项】对话框中选择【驱动程序】选项卡,如果【驱动程序】选项卡中已经存在MySql ODBC Driver选项,则说明MySql ODBC驱动程序已经安装完成。当安装完成后,需要新建DSN,如图10-13和图10-14所示。 图10-13 驱动程序已经安装完毕 图10-1

27、4 新建MySql DSN单击完成,系统会弹出对话框用于指定DNS名、MySql服务器名、数据库名、密码、端口等信息,如图10-15所示。图10-15 为MySql ODBC配置DSN配置完成后,即可通过使用ODBC类库进行数据库操作,示例代码如下所示。 string str = DSN=guojing; /设置Connection属性,使用MySql DSN OdbcConnection con = new OdbcConnection(str); /设置Connection对象 con.Open();/打开连接 OdbcDataAdapter da = new OdbcDataAdapte

28、r(select * from mytables, con);/创建DataAdapter DataSet ds = new DataSet(); /创建DataSet对象 da.Fill(ds, MySqltable); /填充DataSet数据集同样可以创建Command对象进行数据操作,示例代码如下所示。 OdbcCommand cmd = new OdbcCommand(insert into mytables values (MySql title), con); cmd.ExecuteNonQuery(); /执行Command方法 con.Close();上述代码同连接和使用SQ

29、L数据库基本相同,其中str变量是配置的是DSN的属性。当需要脱离DSN连接MySql数据库时,可以不需要配置DSN来访问MySql数据库,在编写MySql数据库连接字符串时,需要指定驱动程序名称、IP地址或数据库名,常用的关键字如下所示。 Driver:设置驱动程序名。 Server:设置服务器的IP地址或者是本地主机。 Database:设置数据库名称。 Option:设置选项值。 UID:设置连接用户名。 PWD:设置连接密码。 Port:设置连接端口,默认值为3306。编写MySql数据库连接字串代码如下所示。 string strbase = Driver=MySql ODBC 5.

30、1 Driver;Server=localhost;Database=test;UID=guojing;上述字串能够连接MySql数据库,开发人员在连接数据库后就能够使用Command对象进行相应的数据存储和操作。10.4 访问ExcelExcel同Access数据库一样,都是Microsoft Office办公软件中的一个组件,Excel主要用来处理电子表格,同时Excel也能够方便的进行数据存储,并提供强大的运算能力和统计功能,经常使用于办公环境。10.4.1 Excel 简介在办公环境中,大部分的办公人员都使用Excel进行报表处理,所以,Excel中存储着大量的信息。这些信息对决策者或者是办公自动化管理而言,都比较重要,在办公室应用中,很多文档都是通过Excel保存在计算机中的,所以在编写应用程序时,常常需要访问Excel来访问和存储数据。但是,开发人员会发现通过应用程序访问Excel是一件非常困难的事情。因为Excel并不是数据库,所以Excel不支持相关的数据结构,所以当开发人员需要对Excel进行数据访问时,会变得比较困难。但是从另一个角度来看,Excel文件是由一张张工作表组成,其结构很像数据

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2