2023年11月23日发(作者:)

收藏

一、连接Access数据库

1.使用已有DSN的连接字符串进行连接(ODBC

使用DSN进行连接

//导入命名空间

using ;

protected void Page_Load(Object sender,EventArgs e)

{

//设置连接字符串

String connstr=@"DSN=sample";

//实例化Connection对象

OdbcConnection myConnection = new OdbcConnection(connstr);

//执行Open方法打开连接

();

//执行SQL语句

OdbcCommand myCommand = new OdbcCommand("select * from

sampletable",myConnection);

//将查询的结果赋给GridView的数据源

urce = eReader();

//绑定GridView

nd();

//关闭连接

();

}

2.使用无DSN的连接字符串进行连接(ODBC

不使用DSN进行连接

//导入命名空间

using ;

protected void Page_Load(Object sender,EventArgs e)

{

//设置连接字符串

String connstr=@"Driver=Microsoft Access Driver

(*.mdb);Dbq=c:;";

//实例化Connection对象

OdbcConnection myConnection = new OdbcConnection(connstr);

OdbcCommand myCommand = new OdbcCommand("select * from

sampletable",myConnection);

//将查询的结果赋给GridView的数据源

urce = eReader();

//绑定GridView

nd();

//关闭连接

();

}

3.使用连接字符串进行连接(OLEDB

Data Provider 支持的OLEDB Provider

SQLOLEDB:用来访问SQL Server数据库

MSDAORA:用来访问Oracle数据库

.4.0:用来访问Access数据库。

使用连接字符串

//导入命名空间

using ;

protected void Page_Load(Object sender,EventArgs e)

{

//设置连接字符串

String connstr=@"Provider=.4.0;Data

Source=c:;";

//实例化OleDbConnection对象

OleDbConnection myConnection = new OleDbConnection(connstr);

//执行Open方法打开连接

();

//执行SQL语句

OleDbCommand myCommand = new OleDbCommand("select * from

sampletable",myConnection);

//将查询的结果赋给GridView的数据源

urce = eReader();

//绑定GridView

nd();

//关闭连接

();

}

4.使用UDL文件进行连接

使用UDL文件连接数据源的步骤如下:

1)新建一个记事本,其扩展名为.udl

2)双击该UDL文件,弹出“数据连接属性”对话框。

3)该对话框首页显示“提供程序”选项卡,选择要使用的OLEDB提供程序。

4单击“下一步”,显示"l连接“选项卡”,设置好正确的参数后,单击“测

试连接”。

使用UDL进行连接

使用连接字符串

//导入命名空间

using ;

protected void Page_Load(Object sender,EventArgs e)

{

//设置连接字符串

String connstr=@"FILE NAME=c:";

//实例化OleDbConnection对象

OleDbConnection myConnection = new OleDbConnection(connstr);

//执行Open方法打开连接

();

//执行SQL语句

OleDbCommand myCommand = new OleDbCommand("select * from

sampletable",myConnection);

//将查询的结果赋给GridView的数据源

urce = eReader();

//绑定GridView

nd();

//关闭连接

();

}

二、连接MySQL数据库

1.使用已有DSN的连接字符串进行连接

使用DSN进行连接

//导入命名空间

using ;

protected void Page_Load(Object sender,EventArgs e)

{

//设置连接字符串

String connstr=@"DSN=MySQL";

//实例化Connection对象

OdbcConnection myConnection = new OdbcConnection(connstr);

//执行Open方法打开连接

//执行SQL语句

OdbcCommand myCommand = new OdbcCommand("select * from

Names",myConnection);

//将查询的结果赋给GridView的数据源

urce = eReader();

//绑定GridView

nd();

//关闭连接

();

}

2.使用无DSN的连接字符串进行连接

不使用DSN进行连接

//导入命名空间

using ;

protected void Page_Load(Object sender,EventArgs e)

{

//设置连接字符串

String connstr=@"Driver=MySQL ODBC 3.51

Driver;Server=localhost;Database=test;UID=root;PWD=yourpassword;Optio

n=3;Port=3306";

//实例化Connection对象

OdbcConnection myConnection = new OdbcConnection(connstr);

//执行Open方法打开连接

();

//执行SQL语句

OdbcCommand myCommand = new OdbcCommand("select * from

Names",myConnection);

//将查询的结果赋给GridView的数据源

urce = eReader();

//绑定GridView

nd();

//关闭连接

();

}

三、连接Oracle数据库

1.使用 Data Provider(需要安装Oracle客户端)

//导入命名空间

using Client;

public void Page_Load(Object sender,EventArgs e)

{

//设置连接字符串

string connstring = @"Data Source=oraclesample;User

ID=oracleid;Password=oraclepwd;";

//实例化OracleConnection对象

OracleConnection conn = new OracleConnection(connstring);

//打开连接

();

}

2.使用 Data Provider

Data Provider

//导入命名空间

using ;

public void Page_Load(Object sender,EventArgs e)

{

//设置连接字符串

string connstring = @"Driver=Microsoft ODBC for

Oracle;Server=oraclesample;Persisit Security

//打开连接

();

}

四、访问Excel

1.使用 Data Provider访问Excel

使用 Data Provider访问Excel

using ;

protected void Page_Load(Object sender,EventArgs e)

{

//设置连接字符串

string connstr = @"Driver=Microsoft Excel

Driver(*.xls);Dbq=c:;";

//实例化OdbcConnection对象

OdbcConnection myConnection = new OdbcConnection(connstr);

//执行Open方法打开连接

();

//执行SQL语句

OdbcCommand myCommand = new OdbcCommand("select * from

[Sheet1$]",myConnection);

//GridView来显示数据

urce = eReader();

nd();

//调用Close方法关闭连接

();

}

注:ConnectionString属性为Driver(驱动器名),Dbq ( 访问Excel时使用

SQL语句与访问数据库时使用的语句奏本相同,只是from后面的表名的写法

不同,如"select * from [Sheet1$],表示访问的是Shee表,若要访问Sheet2

Sheet3,替换SQL语句中的Sheetl即可。

2.使用OLE Data Provider访问Excel

使用 Data Provider访问Excel

using ;

protected void Page_Load(Object sender,EventArgs e)

{

//设置连接字符串

string connstr = @"Provider=.4.0;Data

Source=c:;Extened Properties=Excel 8.0;";

//实例化OdbcConnection对象

OleDbConnection myConnection = new OleDbConnection(connstr);

//执行Open方法打开连接

();

//执行SQL语句

OleDbCommand myCommand = new OleDbCommand("select * from

[Items$]",myConnection);

//GridView来显示数据

urce = eReader();

nd();

//调用Close方法关闭连接

();

}

注:Conn}ctionString属性为Provider(提供程序名),Data SourceExcel

文家爱女实际路径名),Extended Properties(附加属性)。其中,Extended

Properties制定一些附加的属性,如Excel的版本(本例为Excel 8.0)HDR

值。HDR=Yes表示表格的第一行为标题,应用程序使用SQL语句查询时不会选择

第一行的内容;HDR=No则表示应用程序会把表格中所选的全部内容(包括第一

)查询出来。

五、访问Txt文件

1.使用 Data Provider

使用 Data Provider

string connstr = @"Driver=Microsoft Text

Driver(*.txt;*.csv);Dbq=c:samplepath;Extensions=asc,csv,tab,txt;";

OdbcConnection myConnection = new OdbcConnection(connstr);

OdbcCommand myCommand = new OdbcCommand("select * from

",myConnection);

2.使用OLE Data Provider

使用 Data Provider

string connstr = @"Provider=.4.0;Data

Source=c:samplepath;Extended

Properties=**text;HDR=Yes;FMT=Delimited""";

OleDbConnection myConnection = new OleDbConnection(connstr);

OleDbCommand myCommand = new OleDbCommand("select * from

",myConnection);

3.使用命名空间

命名空间包含的主要类:

File:提供用于创建、复制、删除、移动和打开文件的静态方法(即不需要创建

类的实例,可直接调用类的方法)。

FileInfo:提供创建、复制、删除、移动和打开文件的实例方法(即需要创建类

的实例,才能调用类的方法)。

StreamReader:从数据流中读取字符。

StreamWriter:从数据流中写入字符。

File类包含的主要方法

OpenText:打开现有的txt文件以进行读取。

Exists:确定制定的文件是否存在。

CreateText:创建或打开一个文件用于写入。

AppendText:将txt文本追加到现有文件。

读取txt文件

<%@Import Namespace=""%>

第一次跟别人做东西,自己的一点经验,写下来,虽然比较菜,但还是要做点记录,如有

错误缺漏,请各位不吝赐教,谢谢: )

以前都是用 sqlServer2000 结合做东西的,这次是用access,虽然是第一

次用,但感觉与sqlServer2000的用法区别不大,以下对二者的用法做比较:

SqlServer2000:

1>命名空间

using ;

using ;

2>连接语句等 在之前的随笔中有记录,这里不再记

录了。

主要记录Access用法:

1>命名空间:

using ;

using ;

2>连接语句:

string conString="Provider=.4.0; Data Source=";

conString+=h(@"");

//以上语句中,“@”表示绝对的字符串,也就是说""在这就不需用""来表示了第一个""

示是从根目录(C:Inetpubwwwroot)下找"Jlgps"这个目录,如果不加""表示从当前应用程序

目录下(Jlgps)找,那么这里就要写成@"".建议用后者,前者取出来可能是绝

对路径,后者则是相对路径,出错几率较小。

OleDbConnection con=new OleDbConnection(conString);

();//这样数据库连接完毕。

3>命令对象:

大致用法与sqlServer的相同,只是名称有点变化:

sqlserver的以Sql开头,如SqlCommand cmd=new SqlCommand();access的都

OleDb开头,如:

4>涉及到access数据库的用户名和密码的问题:

开始我的accessmdb文件没有设置用户名和密码,用以上的连接语句可以连接成

功,后来我想为了稍微安全点,想设置数据库mdb文件的打开密码,于是我便打开mdb

件,在"工具",-"安全"-"设置数据库密码"中设好了密码,但是之后便连接不上数据库,我便

试着在连接语句中加类似SqlServer中的uid,pwd,但都没成功,最后经过一番尝试,找

到了一个解决问题的方法:不要在"工具",-"安全"-"设置数据库密码"中设置密码,而是在"

",-"安全"-

"用户与组帐户"中设置密码即可,这样,既实现了打开mdb文件时要输入密码,而数

据库连接语句还是原来的,不要做任何改动即可连接数据库。

5>Access的字段类型问题,Access的字段类型与OleDbType的类型很难一一吻合,

那么取相似的即可,比如access中的备注型,那么就在OleDbType中用LongVarchar

可。比如:

OleDbParameter para=new OleDbParameter("@proFun",

rChar);

=;//一个产品对象的功能描叙参数,备注型

(para);