一、SqlConnection类简介
ConnectionString |
空字符串 ("") |
ConnectionTimeout |
15 |
Database |
空字符串 ("") |
DataSource |
空字符串 ("") |
例如:
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
// Do work here; connection closed on following line.
}
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
二、两种构造函数
(1)public SqlConnection()
(2)public SqlConnection(string connectionString)
三、常用属性
1、获取当前连接的状态-------State
[ BrowsableAttribute(false)]
public override ConnectionState State { get; }
ConnectionState的枚举成员
Closed |
连接处于关闭状态。 |
Open |
连接处于打开状态。 |
Connecting |
连接对象正在与数据源连接。 (该值是为此产品的未来版本保留的。) |
Executing |
连接对象正在执行命令。 (该值是为此产品的未来版本保留的。) |
Fetching |
连接对象正在检索数据。 (该值是为此产品的未来版本保留的。) |
Broken |
与数据源的连接中断。 只有在连接打开之后才可能发生这种情况。 可以关闭处于这种状态的连接,然后重新打开。 (该值是为此产品的未来版本保留的。) |
2、获取或设置用于打开 SQL Server 数据库的字符串。-----------ConnectionString
[SettingsBindableAttribute(true)]
public override string ConnectionString { get; set; }
连接字符串,其中包含源数据库名称和建立初始连接所需的其他参数
如果“Persist Security Info”值设置为 false(默认值),则返回的连接字符串与用户设置的 ConnectionString 相同但去除了安全信息。 除非将“Persist Security Info”设置为 true,否则,SQL Server .NET Framework 数据提供程序将不会保持,也不会返回连接字符串中的密码。
只有在连接关闭时才能设置 ConnectionString 属性
3、获取要连接的 SQL Server 实例的名称。---------DataSource
[BrowsableAttribute(true)]
public override string DataSource { get; }
如果 SqlConnection 的连接字符串为“context connection=true”,DataSource 属性将返回 null。
4、获取当前数据库的名称或连接打开后要使用的数据库的名称。----DateBase
public override string Database { get; }
Database 属性会动态更新。 如果使用 Transact-SQL 语句或 ChangeDatabase 方法更改当前数据库,就会发送信息性消息并自动更新此属性。
5、获取等待连接打开的时间(以秒为单位)。-----------ConnectionTimeOut
public override int ConnectionTimeout { get; }
四、常用方法
1、打开与数据库的连接---------Open
public override void Open()
2、关闭与数据库的连接--------Close
public override void Close()
此方法是关闭任何已打开连接的首选方法。
应用程序可以多次调用 Close。 不会生成任何异常。
3、public void Dispose ()
释放由 Component 使用的所有资源
4、关闭连接的 Close()方法和Dispose()的区别
Close方法用于关闭一个连接,而Dispose方法不仅关闭一个连接,而且还清理连接所占用的资源。当使用Close方法关闭连接后,可以再调用Open方法打开连接。而若用Dispose方法关闭连接则不可以再次直接调用Open方法打开连接,必须初始化连接之后再打开即重新建立SqlConnection对象。
5、创建并返回一个与 SqlConnection 关联的 SqlCommand 对象--------CreateCommand
public SqlCommand CreateCommand()