几种常见的数据库连接方法
几种常见的数据库连接方法
一、连接Access 数据库
1. 使用已有DSN 的连接字符串进行连接(ODBC )
使用DSN 进行连接
//导入命名空间
using System.Data.Odbc;
protected void Page_Load(Object sender,EventArgs e)
{
//设置连接字符串
String connstr=@"DSN=sample";
//实例化Connection 对象
OdbcConnection myConnection = new OdbcConnection(connstr);
//执行Open 方法打开连接
myConnection.Open();
//执行SQL 语句
OdbcCommand myCommand = new OdbcCommand("select
sampletable",myConnection);
//将查询的结果赋给GridView 的数据源
gv.DataSource = myCommand.ExecuteReader();
//绑定GridView
gv.DataBind();
//关闭连接
myConnection.Close();
}
2. 使用无DSN 的连接字符串进行连接(ODBC )
不使用DSN 进行连接
//导入命名空间
using System.Data.Odbc;
protected void Page_Load(Object sender,EventArgs e)
{
//设置连接字符串
String connstr=@"Driver=Microsoft Access Driver (*.mdb);Dbq=c:\sample.mdb;";
//实例化Connection 对象
OdbcConnection myConnection = new OdbcConnection(connstr);
//执行Open 方法打开连接
myConnection.Open();
//执行SQL 语句
OdbcCommand myCommand = new OdbcCommand("select
sampletable",myConnection); from * from *
//将查询的结果赋给GridView 的数据源
gv.DataSource = myCommand.ExecuteReader();
//绑定GridView
gv.DataBind();
//关闭连接
myConnection.Close();
}
3. 使用连接字符串进行连接(OLEDB )
OLEDB.NET Data Provider 支持的OLEDB Provider:
SQLOLEDB :用来访问SQL Server数据库
MSDAORA :用来访问Oracle 数据库
Microsoft.Jet.OLEDB.4.0:用来访问Access 数据库。
使用连接字符串
//导入命名空间
using System.Data.OleDb;
protected void Page_Load(Object sender,EventArgs e)
{
//设置连接字符串
String connstr=@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=c:\sample.mdb;"; //实例化OleDbConnection 对象
OleDbConnection myConnection = new OleDbConnection(connstr);
//执行Open 方法打开连接
myConnection.Open();
//执行SQL 语句
OleDbCommand myCommand = new OleDbCommand("select * from sampletable",myConnection);
//将查询的结果赋给GridView 的数据源
gv.DataSource = myCommand.ExecuteReader();
//绑定GridView
gv.DataBind();
//关闭连接
myConnection.Close();
}
4. 使用UDL 文件进行连接
使用UDL 文件连接数据源的步骤如下:
(1)新建一个记事本,其扩展名为.udl 。
(2)双击该UDL 文件,弹出“数据连接属性”对话框。
(3)该对话框首页显示“提供程序”选项卡,选择要使用的OLEDB 提供程序。
(4)单击“下一步”,显示"l 连接“选项卡”,设置好正确的参数后,单击“测试连接”。
使用UDL 进行连接
使用连接字符串
//导入命名空间
using System.Data.OleDb;
protected void Page_Load(Object sender,EventArgs e)
{
//设置连接字符串
String connstr=@"FILE NAME=c:\oledb.udl";
//实例化OleDbConnection 对象
OleDbConnection myConnection = new OleDbConnection(connstr);
//执行Open 方法打开连接
myConnection.Open();
//执行SQL 语句
OleDbCommand myCommand = new
sampletable",myConnection);
//将查询的结果赋给GridView 的数据源
gv.DataSource = myCommand.ExecuteReader();
//绑定GridView
gv.DataBind();
//关闭连接
myConnection.Close();
}
二、连接MySQL 数据库
1. 使用已有DSN 的连接字符串进行连接
使用DSN 进行连接
2. 使用无DSN 的连接字符串进行连接
不使用DSN 进行连接
//导入命名空间
using System.Data.Odbc;
protected void Page_Load(Object sender,EventArgs e)
{
//设置连接字符串
String connstr=@"Driver=MySQL ODBC 3.51 Driver;Server=localhost;Database=test;UID=root;PWD=yourpassword;Option=3;Port=3306"; //实例化Connection 对象
OdbcConnection myConnection = new OdbcConnection(connstr);
//执行Open 方法打开连接
myConnection.Open();
//执行SQL 语句
OdbcCommand myCommand = new OdbcCommand("select * from Names",myConnection); //将查询的结果赋给GridView 的数据源
gv.DataSource = myCommand.ExecuteReader(); OleDbCommand("select * from
//绑定GridView
gv.DataBind();
//关闭连接
myConnection.Close();
}
三、连接Oracle 数据库
1. 使用Oracle.NET Data Provider(需要安装Oracle 客户端)
Oracle.NET Data Provider
//导入命名空间
using System.Data.OracleClient;
public void Page_Load(Object sender,EventArgs e)
{
//设置连接字符串
string connstring = @"Data Source=oraclesample;User ID=oracleid;Password=oraclepwd;"; //实例化OracleConnection 对象
OracleConnection conn = new OracleConnection(connstring);
//打开连接
connn.Open();
}
2. 使用ODBC.NET Data Provider
ODBC.NET Data Provider
//导入命名空间
using System.Data.Odbc;
public void Page_Load(Object sender,EventArgs e)
{
//设置连接字符串
string connstring = @"Driver=Microsoft ODBC for Oracle;Server=oraclesample;Persisit Security Info=False;Trusted_Connection=yes;";
//实例化OracleConnection 对象
OdbcConnection conn = new OdbcConnection(connstring);
//打开连接
connn.Open();
}
3. 使用OLE DB.NET Data Provider
OleDb.NET Data Provider
//导入命名空间
using System.Data.Oledb;
public void Page_Load(Object sender,EventArgs e)
{
//设置连接字符串
string connstring = @"Provider=MSDAORA;Data Source=oraclesample;Persisit Security Info=False;Integrated Security=yes;";
//实例化OracleConnection 对象
OleDbConnection conn = new OleDbConnection(connstring);
//打开连接
connn.Open();
}
四、访问Excel
1. 使用ODBC.NET Data Provider访问Excel
使用ODBC.NET Data Provider访问Excel
注:ConnectionString 属性为Driver (驱动器名),Dbq ( 访问Excel 时使用的SQL 语句与访问数据库时使用的语句奏本相同,只是from 后面的表名的写法不同,如"select * from
[Sheet1$],表示访问的是Shee 表,若要访问Sheet2,Sheet3,替换SQL 语句中的Sheetl 即可。
2. 使用OLE DB.NET Data Provider访问Excel
使用OleDb.NET Data Provider访问Excel
注:Conn}ctionString属性为Provider (提供程序名),Data Source(Excel 文家爱女实际路径名),Extended Properties(附加属性)。其中,Extended Properties制定一些附加的属性,如Excel 的版本(本例为Excel 8.0)和HDR 值。HDR=Yes表示表格的第一行为标题,应用程序使用SQL 语句查询时不会选择第一行的内容;HDR=No则表示应用程序会把表格中所选的全部内容(包括第一行) 查询出来。
五、访问Txt 文件
1. 使用ODBC.NET Data Provider
使用ODBC.NET 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 txtsample.txt",myConnection);
2. 使用OLE DB.NET Data Provider
使用OleDb.NET Data Provider
string connstr = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\samplepath\;Extended Properties=**text;HDR=Yes;FMT=Delimited""";
OleDbConnection myConnection = new OleDbConnection(connstr);
OleDbCommand myCommand = new OleDbCommand("select * from txtsample.txt",myConnection);
3. 使用System.IO 命名空间
System.IO 命名空间包含的主要类:
File :提供用于创建、复制、删除、移动和打开文件的静态方法(即不需要创建类的实例,可直接调用类的方法)。
FileInfo :提供创建、复制、删除、移动和打开文件的实例方法(即需要创建类的实例,才能调用类的方法)。
StreamReader :从数据流中读取字符。
StreamWriter :从数据流中写入字符。
File 类包含的主要方法
OpenText :打开现有的txt 文件以进行读取。
Exists :确定制定的文件是否存在。
CreateText :创建或打开一个文件用于写入。
AppendText :将txt 文本追加到现有文件。
读取txt 文件
注:StreamReader 的Peek 方法能够返回制定StreamReader 对象流中的下一个字符,但不把该字符从流中删掉;如果流中不再有文本字符可读,则返回-1。
写入txt 文件