原文地址:http://www.dingos.cn/index.php?topic=1285.0
【Connection对象】
在 ADO.NET 中,必须显式关闭连接,才能释放实际的数据库连接
- Connection类用于创建和管理与ADO.NET中数据存储器的连接。
- 数据库提供程序对应的Connection类:
.NET Framework 数据提供程序 | Connection 类 |
SQL 数据提供程序 | SqlConnection |
OLE DB 数据提供程序 | OleDbConnection |
Oracle 数据提供程序 | OracleConnection |
ODBC 数据提供程序 | OdbcConnection |
【Connection对象】
- Connection对象可用于连接到数据源, 对于不同的数据源, 分别有SqlX, OleDBX, ODBCX, OracleX等.
Connection使用完毕后应该调用Close或Dispose方法, 以让连接返回到连接池中(连接池的设置可在连接字符串的Pool属性中设置). - 对于Connection, 最重要的便是连接字符串, 如下例子:
- Sql: "Server=.;Database=Northwind,uid=sa;pwd=;"
- Sql: "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=northwind"
- OleDb: "Provider=SQLOLEDB; Data Source=localhost; Integrated Security=SSPI; Initial Catalog=northwind"
- ODBC: "Driver={SQL Server}; Server=localhost; Trusted_Connection=yes; Database=northwind"
- Oracle: "Data Source=MyOracleServer; Integrated Security=yes;"
【SqlConnection对象】
SqlConnection 与 SqlDataAdapter 和 SqlCommand 一起使用,可以在连接 Microsoft SQL Server 数据库时提高性能。
当创建 SqlConnection 的实例时,所有属性都设置为它们的初始值。
如果 SqlConnection 超出范围,则不会将其关闭。因此,必须通过调用 Close 或 Dispose 显式关闭该连接。Close 和 Dispose 在功能上等效。如果连接池值 Pooling 设置为 true 或 yes,则基础连接将返回到连接池。另一方面,如果 Pooling 设置为 false 或 no,则实际上会关闭到服务器的基础连接。
若要确保连接始终关闭,可以在 using 块内部打开连接。这样可确保在代码退出代码块时自动关闭连接。
SqlConnection 与 SqlDataAdapter 和 SqlCommand 一起使用,可以在连接 Microsoft SQL Server 数据库时提高性能。
当创建 SqlConnection 的实例时,所有属性都设置为它们的初始值。
如果 SqlConnection 超出范围,则不会将其关闭。因此,必须通过调用 Close 或 Dispose 显式关闭该连接。Close 和 Dispose 在功能上等效。如果连接池值 Pooling 设置为 true 或 yes,则基础连接将返回到连接池。另一方面,如果 Pooling 设置为 false 或 no,则实际上会关闭到服务器的基础连接。
若要确保连接始终关闭,可以在 using 块内部打开连接。这样可确保在代码退出代码块时自动关闭连接。
【创建SqlConnection对象】
Connection类提供了两个构造函数,允许从两种方式创建Connection类的实例:
本地服务器可以有以下几种写法:
Connection类提供了两个构造函数,允许从两种方式创建Connection类的实例:
- SqlConnection conn = new SqlConnection();
string sConnString = "server = (local); uid = sa; pwd = password; database = pubs";
conn.ConnectionString = sConnString; - string sConnString = "server = (local); uid = sa; pwd = password; database = pubs";
SqlConnection conn = new SqlConnection(sConnString);
本地服务器可以有以下几种写法:
- (local)
- 127.0.0.1
- 本地机器名称
【SqlConnection对象常用属性】
- ConnectionString
获取或设置用于打开 SQL Server 数据库的字符串。 - DataBase
获取当前数据库或连接打开后要使用的数据库的名称。 - DataSource
获取要连接的 SQL Server 实例的名称。 - ServerVersion
获取包含客户端连接的 SQL Server 实例的版本的字符串。 - State
指示 SqlConnection 的状态。
【SqlConnection对象常用方法】
- Close()
关闭与数据库的连接。这是关闭任何打开连接的首选方法。 - CreateCommand()
创建并返回一个与 SqlConnection 关联的 SqlCommand 对象。 - Open()
使用 ConnectionString 所指定的属性设置打开数据库连接。
【ConnectionState 枚举】描述与数据源的连接的当前状态。
成员名称 | 说明 |
Closed | 连接处于关闭状态。 |
Open | 连接处于打开状态。 |
Connecting | 连接对象正在与数据源连接。 |
Executing | 连接对象正在执行命令。 |
Fetching | 连接对象正在检索数据。 |
Broken | 与数据源的连接中断。只有在连接打开之后才可能发生这种情况。可以关闭处于这种状态的连接,然后重新打开。 |