Chinaunix首页 | 论坛 | 博客
  • 博客访问: 308620
  • 博文数量: 46
  • 博客积分: 6495
  • 博客等级: 大校
  • 技术积分: 483
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-09 16:36
文章分类

全部博文(46)

文章存档

2013年(1)

2012年(1)

2011年(6)

2010年(14)

2009年(1)

2008年(1)

2007年(22)

分类:

2007-09-18 15:49:29

.NET Framework 类库
SqlConnection 类

表示 SQL Server 数据库的一个打开的连接。无法继承此类。

命名空间:System.Data.SqlClient
程序集:System.Data(在 system.data.dll 中)



和 一起使用,可以在连接 Microsoft SQL Server 数据库时提高性能。对于所有第三方 SQL 服务器产品以及其他支持 OLE DB 的数据源,请使用 。

当创建 SqlConnection 的实例时,所有属性都设置为它们的初始值。有关这些值的列表,请参见 SqlConnection 构造函数。

如果 SqlConnection 超出范围,则该连接将保持打开状态。因此,必须通过调用 CloseDispose 显式关闭该连接。CloseDispose 在功能上等效。如果连接池值 Pooling 设置为 trueyes,则基础连接将返回到连接池。另一方面,如果 Pooling 设置为 falseno,则实际上会关闭到服务器的基础连接。

若要确保连接始终关闭,请在 using 块内部打开连接,如下面的代码段所示。这样可确保在代码退出代码块时自动关闭连接。

Visual Basic
Using connection As New SqlConnection(connectionString)
    connection.Open()
    ' Do work here; connection closed on following line.
End Using
using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        // Do work here; connection closed on following line.
    }
Note注意

若要部署高性能应用程序,则必须使用连接池。在使用用于 SQL Server 的 .NET Framework 数据提供程序时,不必启用连接池,因为提供程序会自动对此进行管理,不过您可以修改某些设置。有关更多信息,请参见 。

如果执行 SqlCommand 的方法生成 ,那么当严重级别小于等于 19 时,SqlConnection 将仍保持打开状态。当严重级别大于等于 20 时,服务器通常会关闭 SqlConnection。但是,用户可以重新打开连接并继续操作。

用于创建 SqlConnection 对象实例的应用程序可通过设置声明性或强制性安全要求,要求所有直接和间接的调用方对代码都具有足够的权限。SqlConnection 使用 对象设置安全要求。用户可以通过使用 对象来验证他们的代码是否具有足够的权限。用户和管理员还可以使用 来修改计算机、用户和企业级别的安全策略。有关更多信息,请参见 。有关演示如何使用安全请求的示例,请参见 。

Note注意

如果您正在使用 Microsoft .NET Framework 1.0 版,则在使用 连接到 SQL Server 时必须使用 FullTrust 命名权限集。如果使用的是 .NET Framework 1.1 版或更高版本,则此要求不适用。有关更多信息,请参见 和 。

有关处理来自服务器的警告和信息性消息的更多信息,请参见 。

Topic Location
Visual Studio 中的数据访问

。然后,该示例调用 ExecuteNonQuery 并关闭该连接。为了完成此任务,将为 ExecuteNonQuery 传递一个连接字符串和一个查询字符串,后者是一个 Transact-SQL INSERT 语句。

Visual Basic
Private Sub OpenSqlConnection()
    Dim connectionString As String = GetConnectionString()
    Using connection As New SqlConnection(connectionString)
        connection.Open()
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion)
        Console.WriteLine("State: {0}", connection.State)
    End Using
End Sub

Private Function GetConnectionString() As String
    ' To avoid storing the connection string in your code,  
    ' you can retrieve it from a configuration file, using the
    ' System.Configuration.ConfigurationSettings.AppSettings property
    Return "Data Source=(local);Database=AdventureWorks;" _
      & "Integrated Security=SSPI;"
End Function
C#
private static void OpenSqlConnection()
{
    string connectionString = GetConnectionString();
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
        Console.WriteLine("State: {0}", connection.State);
    }
}

static private string GetConnectionString()
{
    // To avoid storing the connection string in your code, 
    // you can retrieve it from a configuration file, using the 
    // System.Configuration.ConfigurationSettings.AppSettings property 
    return "Data Source=(local);Initial Catalog=AdventureWorks;"
        + "Integrated Security=SSPI;";
}


  
    
      
        System.Data.SqlClient.SqlConnection



阅读(2218) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~