首页 第 10 章 访问其他数据源

第 10 章 访问其他数据源

举报
开通vip

第 10 章 访问其他数据源null第三篇 数据操作篇 第三篇 数据操作篇 东鹏电子信息有限公司内容 内容 第 7 章 数据库与 ADO.NET 基础 第 8 章 Web 窗体的数据控件 第 9 章 ASP.NET 操作数据库 第 10 章 访问其他数据源 *第 10 章 访问其他数据源第 10 章 访问其他数据源主讲:Jayce_Zou*本章内容 ...

第 10 章 访问其他数据源
null第三篇 数据操作篇 第三篇 数据操作篇 东鹏电子信息有限公司内容 内容 第 7 章 数据库与 ADO.NET 基础 第 8 章 Web 窗体的数据控件 第 9 章 ASP.NET 操作数据库 第 10 章 访问其他数据源 *第 10 章 访问其他数据源第 10 章 访问其他数据源主讲:Jayce_Zou*本章内容 主讲:Jayce_Zou本章内容 主讲:Jayce_Zou 使用 ODBC .NET Data Provider 使用 OLE DB.NET Data Provider 访问 MySql 访问 Excel 访问 txt 访问 SQLite *ODBC .NET Data Provider 简介 主讲:Jayce_Zou ODBC .NET Data Provider 简介 主讲:Jayce_Zou ODBC(Open Database Connection,开放式数据互连)是访问数据库的一个统一的接口标准,它允许开发人员使用 ODBC API(应用程序接口)来访问多种不同的数据源,并执行数据操作。 当使用应用程序时,应用程序首先通过使用 ODBC API 与驱动管理器进行通信。 ODBC API 由一组 ODBC 函数调用组成,通过 API 调用 ODBC 函数提交 SQL 请求,然后驱动管理器通过分析 ODBC 函数并判断数据源的类型。 驱动管理器会配置正确的驱动器,然后将 ODBC 函数调用传递给驱动器。最后,驱动器处理 ODBC 函数调用,把 SQL 请求发送给数据源,数据源执行相应操作后,驱动器返回执行结果,管理器再吧执行结果返回给应用程序。 * 主讲:Jayce_Zou 主讲:Jayce_Zou 使用命名空间 System.Data.Odbc 才能够使用 ODBC .NET Data Provider 来访问 ODBC 数据源。通过 ODBC 能够连接和执行数据操作,其访问方式和 SQL Server .NET Data Provider 相似,都需要先与数据源建立连接并打开连接,然后创建 Command 对象执行相应操作,最后关闭数据连接。 ODBC 对象如下: OdbcConnection:建立与 ODBC 数据源的连接。 OdbcCommand:执行一个 SQL 语句或存储过程。 OdbcDataReader:与 Command 对象一起使用,读取 ODBC 数据源。 OdbcDataAdapter:创建适配器,用来填充 DataSet。 OdbcCommandBuilder:用来自动生成插入、更新、删除等操作的 SQL 语句。*使用 DSN 的连接字符串进行连接 主讲:Jayce_Zou 使用 DSN 的连接字符串进行连接 主讲:Jayce_Zou 使用 DSN(Data Source Name,数据源名)连接数据库,必须首选创建 ODBC 数据源,步骤如图:* 主讲:Jayce_Zou 主讲:Jayce_Zou * 主讲:Jayce_Zou 主讲:Jayce_Zou * 主讲:Jayce_Zou 主讲:Jayce_Zou *示例代码 主讲:Jayce_Zou 示例代码 主讲:Jayce_Zou 当创建完成数据源之后,就可以使用 OdbcConnection 对象连接应用程序和数据库,在使用 OdbcConnection 对象同样需要使用命名控件 System.Data.Odbc,示例代码如下所示 : string str = @“DSN=guojing”; //使用 ODBC 数据源 OdbcConnection con = new OdbcConnection(str); con.Open(); string strsql = "select * from mytable"; OdbcDataAdapter da = new OdbcDataAdapter(strsql,con); DataSet ds = new DataSet(); da.Fill(ds, "tablename"); 若需要执行插入、更新、删除等操作,可以使用 Command 对象执行相应的操作,示例代码如下所示: OdbcCommand cmd = new OdbcCommand("insert into mytable values ('title')",con); cmd.ExecuteNonQuery(); *使用接字符串进行连接(ACCESS) 主讲:Jayce_Zou 使用接字符串进行连接(ACCESS) 主讲:Jayce_Zou 示例代码如下所示: string str = "provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=" + Server.MapPath("acc.mdb") + ""; //配置连接对象 OdbcConnection con = new OdbcConnection(str); //打开连接 con.Open(); *使用Windows 身份验证连接(SQL Server) 主讲:Jayce_Zou 使用Windows 身份验证连接(SQL Server) 主讲:Jayce_Zou 当使用 Windows 安全认证进行数据连接时,SQL Server 无需用户提供连接的用户名和密码即可连接, 因为 Windows 安全认证是通过 Windows 登录时的账号来登录的。 开发 ASP.NET 应用程序时,需要显式的声明这是一个安全的连接,示例代码如下所示。 @" Driver={SQL Server}; Server=(local);Database=mytable;Trusted_Connection=Yes";*OLE DB.NET Data Provider 简介 主讲:Jayce_Zou OLE DB.NET Data Provider 简介 主讲:Jayce_Zou OLE DB(Object Link and Embedding Database,对象连接与嵌套数据库)是访问数据库的另一个统一的接口标准,它建立在 ODBC 基础之上,不仅能够提供传统的数据库访问,并且能够访问关系型数据库和非关系型数据库。 OLE DB 其本质就是一个封装数据库访问的一系列 COM 接口,使用 COM 接口不仅能够减少应用程序和数据库之间的通信和交互,也能够极大的提升数据库的性能,让数据库的访问和操作更加便捷。 OLE DB.NET Data Provider 支持 OLE DB Provider 包括: SQLOLEDB:用来访问 SQL Server 数据库。 MSDAORA:用来访问 Oracle 数据库。 Microsoft.Jet.OLEDB.4.0:用于访问 Access 等使用 Jet 引擎的数据库。* 主讲:Jayce_Zou 主讲:Jayce_Zou 使用 OLE DB.NET Data Provider 访问数据库同 ODBC .NET Data Provider 相同,具有 Connection 对象、Command 对象等用于数据库的连接和执行,以及数据存储等,常用对象如下所示: OleDbConnection:建立与 ODBC 数据源的连接。 OleDbCommand:执行一个 SQL 语句或存储过程。 OleDbDataReader:与 Command 对象一起使用,读取 ODBC 数据源。 OleDbDataAdapter:创建适配器,用来填充 DataSet。 OleDbCommandBuilder:用来自动生成插入、更新、删除等操作的 SQL 语句。 连接后,使用 Command 对象进行数据库操作,并使用 Close 方法关闭数据连接。*使用接字符串进行连接(ACCESS) 主讲:Jayce_Zou 使用接字符串进行连接(ACCESS) 主讲:Jayce_Zou 使用接字符串进行连接(ACCESS),示例代码如下: string str = "provider=Microsoft.Jet.OLEDB.4.0 ; Data Source=" + Server.MapPath("access.mdb") + ""; OleDbConnection con = new OleDbConnection(str); try { con.Open(); //打开连接 Label1.Text = "连接成功"; //显式提示信息 con.Close(); //关闭连接 } catch(Exception ee) //抛出异常 { Label1.Text = "连接失败"; }*使用接字符串进行连接(SQL Server) 主讲:Jayce_Zou 使用接字符串进行连接(SQL Server) 主讲:Jayce_Zou 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(); //关闭连接 } catch { Label1.Text = "连接失败"; //抛出异常 }*MySql 简介 主讲:Jayce_Zou MySql 简介 主讲:Jayce_Zou MySql是一套开源的小型关系型数据库,MySql 能够执行标准的 SQL 语句进行数据操作。 MySql 能够支持多种操作系统,包括 Windows、Linux、Mac OS 等等,是一种跨平台的数据库产品, MySql 具有功能性强、体积小、运行速度快、成本低和安全性强等特点,MySql 还具有以下特性: MySql 具有客户端/服务器结构的分布式数据库管理系统。 支持多个操作系统。 为多种编程语言提供 API。 支持多用户,多线程操作数据库。 提供了 TCP/IP,ODBC 和 JDBC 等多种数据库连接方式。 优化 SQL 语句能力,提升性能。 支持 ANSI 标准的所有数据类型。 开放源代码,并且可以免费下载安装。 MySql 不仅具有良好的性能 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 现,同时 MySql 还能够执行复杂的 SQL 语句操作,但是 MySql 的缺点就在于无法创建和使用存储过程,缺少一些大型数据库所必备的功能。 *连接MYSQL 主讲:Jayce_Zou 连接MYSQL 主讲:Jayce_Zou 连接MYSQL,需要新建 DSN,如图 : * 主讲:Jayce_Zou 主讲:Jayce_Zou 配置完成后,即可通过使用 ODBC 类库进行数据库操作,示例代码如下所示: string str = @"DSN=guojing"; OdbcConnection con = new OdbcConnection(str); con.Open(); OdbcDataAdapter da = new OdbcDataAdapter("select * from mytables", con); DataSet ds = new DataSet(); da.Fill(ds, "MySqltable"); OdbcCommand cmd = new OdbcCommand("insert into mytables values ('MySql title')", con); cmd.ExecuteNonQuery(); con.Close();* 主讲:Jayce_Zou 主讲:Jayce_Zou 当需要脱离 DSN 连接 MySql 数据库时,可以不需要配置 DSN 来访问 MySql 数据库,在编写 MySql 数据库连接字符串时, 需要指定驱动程序名称、IP 地址或数据库名,常用的关键字如下所示: Driver:设置驱动程序名。 Server:设置服务器的 IP 地址或者是本地主机。 Database:设置数据库名称。 Option:设置选项值。 UID:设置连接用户名。 PWD:设置连接密码。 Port:设置连接端口,默认值为 3306。 编写 MySql 数据库连接字串代码如下所示: string strbase = @"Driver=MySql ODBC 5.1 Driver;Server=localhost;Database=test;UID=guojing"; *访问 Excel 主讲:Jayce_Zou 访问 Excel 主讲:Jayce_Zou 因为 Excel 并不是数据库,所以 Excel 不支持相关的数据结构,所以当开发人员需要对 Excel 进行数据访问时,会变得比较困难。 但是从另一个角度来看,Excel 文件是由一张张工作表组成,其结构很像数据库中的表,所以,应该能够通过相应的手段让应用程序访问 Excel。 ASP.NET 提供了一些类和方法用于连接和访问 Excel 数据库,极大的方便了开发人员的开发,简化了开发代码。 ASP.NET 访问 Excel 通常有两种方法,一种是使用 ODBC .NET Data Provider 进行访问,另一种则是使 用 OLE DB .NET Data Provider进行访问。 这两种访问方式在原理上基本相同,同 ADO.NET 其他对象一样, 访问和操作 Excel 文件时,都必须使用 Connection 对象进行连接,然后使用 Command 对象执行 SQL 命令。 *使用 DSN 连接 Excel 数据源 主讲:Jayce_Zou 使用 DSN 连接 Excel 数据源 主讲:Jayce_Zou 首先,必须创建一个 Excel 数据源,例如 data.xls,并手动增加若干数据,如图:* 主讲:Jayce_Zou 主讲:Jayce_Zou 配置完成后,就可以通过 ASP.NET 应用程序访问 Excel 数据源,示例代码如下所示: string str = @"DSN=myexcel"; OdbcConnection con = new OdbcConnection(str); con.Open(); OdbcDataAdapter da = new OdbcDataAdapter("select * from [Sheet1$]",con); DataSet ds = new DataSet(); int count=da.Fill(ds, "exceltable"); //填充数据集 for (int i = 0; i < count; i++) //遍历数据 { Response.Write(ds.Tables["exceltable"].Rows[i]["姓名"].ToString()+"
"); //输出数据 }*使用 OLE DB .NET Data Provider 连接 Excel 主讲:Jayce_Zou 使用 OLE DB .NET Data Provider 连接 Excel 主讲:Jayce_Zou 使用 OLE DB .NET Data Provider 连接和操作 Excel 数据源,示例代码如下所示: string str = @"Provider=Microsoft.Jet.OleDb 4.0;Data Source="+Server.MapPath("data.xls")+";Extended Properties= Excel 8.0;"; OleDbConnection con = new OleDbConnection(str); //创建连接对象 con.Open(); //尝试打开连接 Label1.Text = "连接成功"; //显式连接信息 con.Close(); //关闭连接*访问 txt 主讲:Jayce_Zou 访问 txt 主讲:Jayce_Zou 文本文件(.txt)是一种最基本的文件类型,访问 txt 的方法比较多: 使用 ODBC .NET Data Provider 进行访问, 使用 OLE DB .NET Data Provider 进行访问。 通过 System.IO 进行文本文件的访问。 *使用 ODBE.NET Data Provider 连接 txt 主讲:Jayce_Zou 使用 ODBE.NET Data Provider 连接 txt 主讲:Jayce_Zou 使用 ODBE.NET Data Provider 建立与 txt 文件的连接需要在连接字符串中指定驱动器名,同样可以在管 理工具中创建【数据源(ODBC)】来访问 txt 文本文件,如图: * 主讲:Jayce_Zou 主讲:Jayce_Zou txt 基本上没有类似与表的数据结构,所以在使用 SQL 语句时,基本上是通过查询 txt 文件来实现的,示例代码如下所示: OdbcConnection con = new OdbcConnection(@"DSN=txtexample"); con.Open(); //打开连接 OdbcDataAdapter da = new OdbcDataAdapter(“select * from data.txt”, con); //创建适配器 DataSet ds = new DataSet(); //创建数据集 int count=da.Fill(ds, "txttable"); //填充数据集 for (int i = 0; i < count; i++) //遍历输出 { Response.Write(ds.Tables["txttable"].Rows[i]["title"].ToString()+"
"); }*使用 OLE DB .NET Data Provider 连接 txt 主讲:Jayce_Zou 使用 OLE DB .NET Data Provider 连接 txt 主讲:Jayce_Zou 使用 OLE DB .NET Data Provider 建立与 txt 文件的连接,只需要在连接字串中指定提供程序名、数据源名、扩展属性、HDR 和 FMT 等参数即可,示例代码如下所示 : OleDbConnection olecon = new OleDbConnection (@"Provider=Microsoft.Jet.OLEDB 4.0; Data Source= c:\sample\;ExtendedProperties=text;HDR=yes;FMT=Delimited"); OdbcDataAdapter da = new OdbcDataAdapter("select * from data.txt", con); DataSet ds = new DataSet(); //创建数据集 int count=da.Fill(ds, "txttable"); //填充数据集 for (int i = 0; i < count; i++) //遍历数据集 { Response.Write(ds.Tables["txttable"].Rows[i]["title"].ToString()+"
"); //输出数据 } 注意:txt 文件的数据连接字串中,数据库结构的中“数据库”的概念对于 txt 文件而言应该是文件所在的目录,而不是具体的某个文件。而具体的某个文件,相当于是数据库中“表”的概念。 *使用 System.IO 命名空间 主讲:Jayce_Zou 使用 System.IO 命名空间 主讲:Jayce_Zou System.IO 能够创建文件,从而与 txt 文件进行交互,在使用 System.IO 命名空间时,通常需要使用各种 类来进行文件操作,常用的类如下所示: File:提供用于创建、复制、删除、移动和打开文件的静态方法。 FileInfo:提供创建、复制、删除、移动和代开文件的实例方法。 StreamReader:从数据流中读取字符。 StreamWriter:向数据流中写入字符。 File 类包含的主要方法如下所示: OpenText:打开现有的文件进行读取。 Exists:判断一个文件是否存在。 CreateText:创建或打开一个文件以便写入文本字符串。 AppendText:将 txt 文本追加到现有的文本。 *示例代码 主讲:Jayce_Zou 示例代码 主讲:Jayce_Zou if (File.Exists(Server.MapPath("data.txt"))) //判断文件是否存在 { Response.Write("文件存在"); //输出文件存在 File.OpenText(Server.MapPath("data.txt")); //打开文件 } StreamReader rd = File.OpenText(Server.MapPath("data.txt")); while (rd.Peek() != -1) //如果没有读完 { Response.Write(rd.ReadLine() + "
"); //输出信息 } Peek 方法用于返回指定的 StreamReader 对象流中的下一个字符,但是不会把这个字符从 流中删掉。如果流中没有文本字符,则会返回-1。 *SQLite 简介 主讲:Jayce_Zou SQLite 简介 主讲:Jayce_Zou SQLite 是一款轻量级数据库,其类型在文件形式上很像 Access 数据库,但是相比之下SQLite 操作更快。 SQLite 也是一种文件型数据库,但是 SQLite 却支持多种 Access 数据库不支持的复杂的 SQL 语句,并且还支持事务处理。 SQLite 数据库具有小巧和轻量的特点,在 SQLite 数据库开发时,SQLite 是为嵌入式特别准备的,所以 SQLite 具有小巧、资源占用率低等特点。 在嵌入式设备中,只需要几百 k 的内存即可。而同时 SQLite 支持 多种操作系统,包括 Windows、Linux 等主流操作系统。 SQLite 能够与多种语言结合,包括.NET、PHP、Java 等。同样 SQLite 能够支持 ODBC 接口,相比于 MySql 数据库而言,SQLite 执行效率更快。 虽然 SQLite 小巧,但是 SQLite 同样能够支持 SQL 语句,这些 支持的 SQL 语句相比其他的数据库产品,毫不逊色。 * 主讲:Jayce_Zou 主讲:Jayce_Zou SQLite 支持的常用 SQL 语句如下所示: CREATE INDEX:创建索引。 CREATE TABLE:创建表。 CREATE TRIGGER:创建触发器。 CREATE VIEW:创建视图。 DELETE:执行删除操作。 DROP INDEX:删除索引。 DROP TABLE:删除表。 DROP TRIGGER:删除触发器。 DROP VIEW:删除视图。 INSERT:执行插入操作。 SELECT:执行选择,查询操作。 UPDATE:执行更新操作。 SQLite 不仅能够支持常用的 SQL 语句,SQLite 还包括其他 SQL 语句方便开发人员高效的执行数据库操作。*SQLite 连接方法 主讲:Jayce_Zou SQLite 连接方法 主讲:Jayce_Zou 通过访问 http://sourceforge.net/project/showfiles.php ?group_id=132486 页面下载 SQLite for ADO.NET,下载完成后,在应用程序中添加引用即可。 在添加引用后,可以使用命名空间来为相应的操作提供支持,示例代码如下所示: using System.Data.SQLite; //使用 SQLite 命名空间 连接 SQLite,示例代码如下所示: SQLiteConnection con = new SQLiteConnection("Data Source="+Server.MapPath("sqlite.db")); con.Open(); //打开连接 Response.Write("连接成功"); //提示连接成功 *小结 主讲:Jayce_Zou 小结 主讲:Jayce_Zou 本章介绍了 ADO.NET 访问其他数据源的知识,这些数据源包括 MySql、Excel、txt、SQLite 等常用的数据源,这些数据源虽然在性能和功能上都与 SQL Server 有一段距离,但是在小型、轻便的数据操作和应用中,这些数据库都起着非常重要的作用。 本章还包括: 使用 ODBC.NET Data Provider:讲解了如何使用 ODBC.NET Data Provider 进行数据库存储。 使用 OLE DB.NET Data Provider:讲解了如何使用 OLE DB.NET Data Provider 进行数据库存储。。 访问 MySql:讲解了如何通过 ADO.NET 访问 MySql。 访问 Excel:讲解了如何通过 ADO.NET 访问 Excel。 访问 txt:讲解了如何通过 ADO.NET 访问 txt。 访问 SQLite:讲解了如何通过 ADO.NET 访问 SQLite。 通过本章的知识介绍,可以比较深入的了解 ADO.NET 和其他数据源的连接、访问、操作等方法,熟练掌握 ADO.NET,能够在.NET 平台下的大部分的数据开发中事半功倍。*
本文档为【第 10 章 访问其他数据源】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_804856
暂无简介~
格式:ppt
大小:1MB
软件:PowerPoint
页数:0
分类:互联网
上传时间:2011-12-28
浏览量:15