连接对象是我们使用的第一个对象,用于任何其它ADO.NET对象之前。它提供了到数据库的基本连接。
Connection对象提供了4种连接方式
1、OLEDB :System.Data.Oledb.OledbConnection 对于非SQL Server和非Oracle数据库使用
2、SQL:System.Data.SqlCilent.SqlConnection 用于连接SQL Server数据库
3、ODBC:System.Data.Odbc.OdbcConnection 如果数据库没有内置的OLEDB,则可以使ODBC.NET数据提供者对象。
4、Oracle:System.Data.OracleClient.OracleConnection 用于连接Oracle数据库
例:使用SqlConnection创建实例,一共有2种方法。
//第一种:创建一个没有初始化的SqlConnection对象,然后用ConnectionString来初始化。
String conString = "Provider=SQLOLEDB;Data Source={local)\\NETSDK;Initial Catalog=Northwind;Trusted_Connection=Yes;";
SqlConnection con = new SqlConnection(conString);
con.ConnectionString = conString;
//第二种:使用构造函数来初始化SqlConnection对象
String conString = "Provider=SQLOLEDB;Data Source={local)\\NETSDK;Initial Catalog=Northwind;Trusted_Connection=Yes;";
SqlConnection con = new SqlConnection(conString);
2.连接字符串
连接字符串的几个常用参数:
Provider:这个属性用于设置或返回连接提供程序的名称,仅用于OleDbConnection对象。
Connection Timeout或Connect Timeout:在中止尝试并产生异常前,等待连接到服务器的连接时间长度(以秒为单位)。默认是15秒。
Initail Catalog:数据库的名称。
Data Source:连接打开时使用的SQL Server名称,或者是Microsoft Access数据库的文件名。
Password:SQL Server帐户的登录密码。
User ID:SQL Server登录帐户。
Integrated Security或Trusted Connection:此参数决定是否是安全连接。可能的值有True、False和SSPI(SSPI是True的同义词)。
Persist Security Info:当设置为False时,如果连接是打开的或曾经处于打开状态,那么安全敏感信息(如密码)不会作为连接的一部分返回。设置属性值为True可能有安全风险。False是默认值。
注意:对于连接字符串如果不熟悉,可以使用SqlConnectionStringBuilder类来生成。
SqlConnectionStringBuilder conString = new SqlConnectionStringBuilder();
conString.DataSource = "localhost";
conString.InitialCatalog = "Northwind";
conString.IntegratedSecurity = true;
conString.UserID = "sa";
conString.Password = "123456";
string myConn = conString.ConnectionString;
SqlConnection con = new SqlConnection(myConn);
将连接字符串写到config文件中
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="con" connectionString="Data Source=.;Initial Catalog=Northwind;User ID=sa;Password=123456"/>
</connectionStrings>
</configuration>
引用 using System.Configuration;调用。
对连接字符串简单加密
private static void NewMethod()
{
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.ConnectionStrings.SectionInformation.ProtectSection(null);
config.Save(ConfigurationSaveMode.Full);
}
3.打开和关闭连接
Open 方法:打开连接
Close 方法:关闭连接
注:如果使用了连接池,关闭连接对象不会真正地关闭对数据源地连接。
如果只用DataAdapter,就不必显式地打开和关闭连接。当调用这些对象的方法时(Fill方法、Update方法)会自动检查连接是否打开。