使用ADO.NET可以连接SQL Server,Access,Excel,XML等数据库,首先创建连接,然后使用连接.使用时先打开连接,然后使用,最后记得要关闭连接.下面分别介绍一下:
1.连接SQL Server
需要using System.Data;和using System.Data.SqlClient;两个命名空间.从创建到使用完整代码:
{
string strConnection="server=(local);database=YourDatabase;integrated security=true;";
//若你的数据库服务器使用混合模式验证则用
//string strConnection="server=(local);database=YourDatabase;user id=sa;password=123456;";
//string strConnection="server=(local);database=YourDatabase;uid=sa;pwd=123456;";
SqlConnection con=new SqlConnection(strConnection);//创建连接
string strSql="SELECT FirstName,LastName,Country FROM Employees";
SqlCommand cmd=new SqlCommand(strSql,con);
con.Open();//打开数据库连接
gvList.DataSource=cmd.ExecuteReader();//设置GridView控件数据源
gvList.DataBind();//绑定数据到GridView控件
con.Close();//关闭连接
}
通常strConnection="server=(local);database=YourDatabase;integrated security=true;";连接字符串会放在Web.config文件中.在<configuration></configuration>中设置.
例如:<configuration>
<appSettings>
<add key="strConnection" value="server=(local);database=YourDatabase;integrated security=true;" />
</appSettings>
<system.web>
......
</system.web>
</configuration>
或者::<configuration>
<connectionStrings>
<add name="BBS" connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|BBS.mdf" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
......
</system.web>
</configuration>
使用时,using System.Configuration;命名空间.
前者:string strCon=ConfigurationSettings.AppSettings["strConnection"].ToString();
后者:string strCon=ConfigurationManager.ConnectionStrings["BBS"].ConnectionString
2.连接Access
需要using System.Data;和using System.Data.OleDb;两个命名空间.从创建到使用完整代码:
{
string strConnection="Provider=Microsoft.Jet.OLEDB.4.0;Data source=E:\YourDatabase.mdb;";
OleDbConnection con=new OleDbConnection(strConnection);//创建连接
string strSql="SELECT FirstName,LastName,Country FROM Employees";
OleDbCommand cmd=new OleDbCommand(strSql,con);
con.Open();//打开数据库连接
gvList.DataSource=cmd.ExecuteReader();//设置GridView控件数据源
gvList.DataBind();//绑定数据到GridView控件
con.Close();//关闭连接
}
3.连接Excel
需要using System.Data;和using System.Data.OleDb;两个命名空间.从创建到使用完整代码:
{
string strConnection="Provider=Microsoft.Jet.OLEDB.4.0;Data source=E:\YourDatabase.xls;Extended Properties=Excel 8.0;";
OleDbConnection con=new OleDbConnection(strConnection);//创建连接
string strSql="SELECT FirstName,LastName,Country FROM Employees";
OleDbCommand cmd=new OleDbCommand(strSql,con);
con.Open();//打开数据库连接
gvList.DataSource=cmd.ExecuteReader();//设置GridView控件数据源
gvList.DataBind();//绑定数据到GridView控件
con.Close();//关闭连接
}
4.连接XML数据源
{
string strXMLFile="E:\YourXMLFile.xml";
DataSet dataSet=new DataSet();
dataSet.ReadXml(strXMLFile);
dvList.DataSource=dataSet.Tables[0].DefaultView;
dvList.DataBind();
}
5.Connection对象的其他属性
①Connction timeout等待打开连接的时间,默认值是15秒,这一时间足以找到服务器,确定数据库存在,验证安全权限,建立通信通道.若不能在15秒内完成,那将超时.若不够,可以增加值.
例如:string strConnection="server=(local);database=Northwind;integared security=true;connection timeout=30;";
②packet size数据包大小,默认值是8192字节,这有时会大于所需要的,若请求发送的数据少时,可以降低数据包大小,这样会提高性能.
例如,string strConnection="server=(local);database=Northwind;integared security=true;packet size=512;";
6.Connection对象的方法
①ChangeDatabase(),允许切换到同一服务器的不同数据库,而不必关闭连接.
例如:string strConnection="server=(local);database=Northwind;integared security=true;";
SqlConnection con=new SqlConnection(strConnection);
string strSql="SELECT * FROM Employees";
SqlCommand cmd=new SqlCommand(strSql,con);
con.Open();
con.ChangeDataBase("Master");
con.Close();
②BeginTransaction(),这个是最重要的方法.通过它获取一个事务处理对象.
例如:......//创建连接代码略
SqlTransaction tran;
con.Open();
tran=con.BeginTransaction();