SqlConnectionStringBuilder.Remove(String) 方法

定义

SqlConnectionStringBuilder 实例中移除具有指定的键的项。

public:
 override bool Remove(System::String ^ keyword);
public override bool Remove (string keyword);
override this.Remove : string -> bool
Public Overrides Function Remove (keyword As String) As Boolean

参数

keyword
String

要从此 SqlConnectionStringBuilder 中的连接字符串移除的键/值对中的键。

返回

如果该键存在于连接字符串中并已被移除,则为 true;如果该键不存在,则为 false

例外

keyword 为 Null(在 Visual Basic 中为 Nothing

示例

以下示例将现有连接字符串从使用 Windows 身份验证转换为使用集成安全性。 该示例通过以下方式来完成此工作:从连接字符串中移除用户名和密码,然后设置 IntegratedSecurity 对象的 SqlConnectionStringBuilder 属性。

注意

该示例包括一个密码以演示 SqlConnectionStringBuilder 如何使用连接字符串。 在您的应用程序中,建议使用 Windows 身份验证。 如果必须使用密码,请不要在你的应用程序中包括硬编码的密码。

using System.Data.SqlClient;

class Program
{
    static void Main()
    {
        try
        {
            string connectString =
                "Data Source=(local);User ID=ab;Password= a1Pass@@11;" +
                "Initial Catalog=AdventureWorks";

            SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(connectString);
            Console.WriteLine("Original: " + builder.ConnectionString);

            // Use the Remove method
            // in order to reset the user ID and password back to their
            // default (empty string) values.
            builder.Remove("User ID");
            builder.Remove("Password");

            // Turn on integrated security:
            builder.IntegratedSecurity = true;

            Console.WriteLine("Modified: " + builder.ConnectionString);

            using (SqlConnection
                       connection = new SqlConnection(builder.ConnectionString))
            {
                connection.Open();
                // Now use the open connection.
                Console.WriteLine("Database = " + connection.Database);
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

        Console.WriteLine("Press any key to finish.");
        Console.ReadLine();
    }
}
Imports System.Data.SqlClient
    
Module Module1
  Sub Main()
    Try
      Dim connectString As String = _
       "Data Source=(local);User ID=ab;Password=a1Pass@@11;" & _
       "Initial Catalog=AdventureWorks"

      Dim builder As New SqlConnectionStringBuilder(connectString)
      Console.WriteLine("Original: " & builder.ConnectionString)

      ' Use the Remove method
      ' in order to reset the user ID and password back to their
      ' default (empty string) values.
      builder.Remove("User ID")
      builder.Remove("Password")

      ' Turn on integrated security:
      builder.IntegratedSecurity = True

      Console.WriteLine("Modified: " & builder.ConnectionString)

      Using connection As New SqlConnection(builder.ConnectionString)
        connection.Open()
        ' Now use the open connection.
        Console.WriteLine("Database = " & connection.Database)
      End Using

    Catch ex As Exception
      Console.WriteLine(ex.Message)
    End Try

    Console.WriteLine("Press any key to finish.")
    Console.ReadLine()
  End Sub
End Module

该示例在控制台窗口中显示以下文本:

Original: Data Source=(local);Initial Catalog=AdventureWorks;User ID=ab;Password= a1Pass@@11
Modified: Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=True
Database = AdventureWorks

注解

由于 Remove 方法返回一个指示其成功的值,因此在尝试从 SqlConnectionStringBuilder 实例中删除键/值对之前,不需要查找键。 由于 SqlConnectionStringBuilder 保持固定大小的键/值对集合,因此调用 Remove 方法只会将键/值对的值重置回其默认值。

由于 SqlConnectionStringBuilder 所支持的键集合是固定的,因此该集合中的每一项都具有已知的默认值。 下表列出了这些键,以及首次初始化 SqlConnectionStringBuilder 时或调用 Remove 方法后每个键的值。

默认值
应用程序名称 ".Net SqlClient Data Provider"
Asynchronous Processing 错误
AttachDBFilename 空字符串
连接超时值 15
上下文连接 错误
当前语言 空字符串
数据源 空字符串
加密 错误
Enlist 正确
Failover Partner 空字符串
初始目录 空字符串
集成安全性 错误
Load Balance Timeout 0
Max Pool Size 100
Min Pool Size 0
MultipleActiveResultSets 错误
Network Library 空字符串
Packet Size 8000
密码 空字符串
持久性安全信息 错误
Pooling 正确
复制 错误
Transaction Binding Implicit Unbind
用户 ID 空字符串
User Instance 错误
工作站 ID 空字符串

适用于

另请参阅