DSN连接MySql数据库时,可以不需要配置DSN来访问MySql数据库,在编写MySql数据库连接字符串时,需要指定驱动程序名称、IP地址或数据库名,常用的关键字如下所示。
? Driver:设置驱动程序名。
? Server:设置服务器的IP地址或者是本地主机。 ? Database:设置数据库名称。 ? Option:设置选项值。 ? UID:设置连接用户名。 ? PWD:设置连接密码。
? Port:设置连接端口,默认值为3306。 编写MySql数据库连接字串代码如下所示。
string strbase = @\
上述字串能够连接MySql数据库,开发人员在连接数据库后就能够使用Command对象进行相应的数据存储和操作。
10.4 访问Excel
Excel同Access数据库一样,都是Microsoft Office办公软件中的一个组件,Excel主要用来处理电子表格,同时Excel也能够方便的进行数据存储,并提供强大的运算能力和统计功能,经常使用于办公环境。
10.4.1 Excel 简介
在办公环境中,大部分的办公人员都使用Excel进行报表处理,所以,Excel中存储着大量的信息。这些信息对决策者或者是办公自动化管理而言,都比较重要,在办公室应用中,很多文档都是通过Excel保存在计算机中的,所以在编写应用程序时,常常需要访问Excel来访问和存储数据。但是,开发人员会发现通过应用程序访问Excel是一件非常困难的事情。
因为Excel并不是数据库,所以Excel不支持相关的数据结构,所以当开发人员需要对Excel进行数据访问时,会变得比较困难。但是从另一个角度来看,Excel文件是由一张张工作表组成,其结构很像数据库中的表,所以,应该能够通过相应的手段让应用程序访问Excel。
ASP.NET提供了一些类和方法用于连接和访问Excel数据库,极大的方便了开发人员的开发,简化了开发代码。
10.4.2 建立连接
ASP.NET访问Excel通常有两种方法,一种是使用ODBC .NET Data Provider进行访问,另一种则是使用OLE DB .NET Data Provider进行访问。这两种访问方式在原理上基本相同,同ADO.NET其他对象一样,访问和操作Excel文件时,都必须使用Connection对象进行连接,然后使用Command对象执行SQL命令。
1.使用DSN连接Excel数据源
首先,必须创建一个Excel数据源,例如data.xls,并手动增加若干数据,如图10-16所示。
278
图10-16 创建Excel数据源
数据源创建完毕后,则需要在【数据源(ODBC)】中添加支持Excel的数据源,如图10-17、10-18所示。
图10-17 创建数据源 图10-18 数据源安装
添加数据源之后,需要配置数据源,如图10-17所示,则需要选择相应数据文件,单击【选择工作簿】按钮选择数据文件的位置,如图10-19所示,配置完毕后,单击【确定】按钮,即可配置成功。
图10-19 选择数据文件
配置完成后,就可以通过ASP.NET应用程序访问Excel数据源,示例代码如下所示。
protected void Page_Load(object sender, EventArgs e) {
string str = @\ OdbcConnection con = new OdbcConnection(str); try {
con.Open(); Label1.Text = \连接成功\ con.Close(); }
catch {
Label1.Text = \连接失败\ }
//使用ODBC连接数据源 //新建连接对象
//尝试打开连接 //显式连接信息 //关闭连接
//抛出异常
279
}
执行数据连接后,就可以通过SQL语句执行数据源遍历,示例代码如下所示。
protected void Page_Load(object sender, EventArgs e) {
string str = @\
OdbcConnection con = new OdbcConnection(str); try {
con.Open(); //打开连接 Response.Write(\连接成功
\ //输出HTML OdbcDataAdapter da = new OdbcDataAdapter(\//创建适配器 DataSet ds = new DataSet(); //创建DataSet数据集 int count=da.Fill(ds, \ //填充数据集 for (int i = 0; i < count; i++) //遍历数据 {
Response.Write(ds.Tables[\姓名\//输出数据 } }
catch(Exception ee)
//抛出异常
{
Response.Write(ee.ToString()); } }
上述代码使用了SQL对Excel数据源中的数据进行查询和遍历,运行结果如图10-20所示。
图10-20 遍历Excel数据源
2.使用OLE DB .NET Data Provider连接Excel数据源
使用OLE DB .NET Data Provider连接和操作Excel数据源,同其他ADO.NET数据源访问方法类似,同样是使用OleDbConnection对象进行数据连接,使用OleDbCommand对象进行数据访问,示例代码如下所示。
protected void Page_Load(object sender, EventArgs e) {
string str =
@\
Source=\//设置Excel连接串 OleDbConnection con = new OleDbConnection(str); //创建连接对象 try
280
{
con.Open(); Label1.Text = \连接成功\ con.Close(); }
catch {
Label1.Text = \连接失败\ } }
//尝试打开连接 //显式连接信息 //关闭连接
//抛出异常
上述代码通过使用OLE DB .NET Data Provider连接字串进行Excel数据源的连接,在连接完成后,其数据操作的方法都与ADO.NET对象的操作方法相同。
10.5 访问txt
文本文件(.txt)是一种最基本的文件类型,访问txt的方法比较多,不仅能够通过使用ODBC .NET Data Provider进行访问,或者使用OLE DB .NET Data Provider进行访问。而可以通过System.IO进行文本文件的访问。
10.5.1 使用ODBE.NET Data Provider连接txt
使用ODBE.NET Data Provider建立与txt文件的连接需要在连接字符串中指定驱动器名,同样可以在管理工具中创建【数据源(ODBC)】来访问txt文本文件,如图10-21和图10-22所示。
图10-21 建立数据源 图10-22 完成配置数据源
上面创建了txt数据源的ODBC数据源,当连接txt数据源时,可使用DSN连接数据源,其中txt文本中的字符如下所示。
title 连接2 连接3 连接4 连接5 连接6
281
连接7
当通过ODBC连接txt数据源时,只需使用Connection对象即可,示例代码如下所示。
OdbcConnection con = new OdbcConnection(@\ try {
con.Open(); Label1.Text = \连接成功\ con.Close(); }
catch {
Label1.Text = \连接失败\ }
//尝试打开连接 //显式连接信息 //关闭连接
//抛出异常
成功创建连接后,就可以对数据源进行操作了。与数据库的结构和Excel结构不同的是,txt基本上没有类似与表的数据结构,所以在使用SQL语句时,基本上是通过查询txt文件来实现的,示例代码如下所示。
protected void Page_Load(object sender, EventArgs e) {
OdbcConnection con = new OdbcConnection(@\
//创建连接
try {
con.Open(); OdbcDataAdapter da = new OdbcDataAdapter(\ DataSet ds = new DataSet(); int count=da.Fill(ds, \ for (int i = 0; i < count; i++) {
Response.Write(ds.Tables[\ } }
catch {
Response.Write(\连接失败\ } }
//打开连接 //创建适配器 //创建数据集 //填充数据集 //遍历输出 //输出数据
//抛出异常
上述代码遍历了txt中的数据,运行结果如图10-23所示。
282