SqlConnectionStringBuilder.Remove(String) 方法    
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 SqlConnectionStringBuilder 实例中删除具有指定键的条目。
public:
 override bool Remove(System::String ^ keyword);public override bool Remove (string keyword);override this.Remove : string -> boolPublic Overrides Function Remove (keyword As String) As Boolean参数
- keyword
- String
要从此 SqlConnectionStringBuilder中的连接字符串中删除的键/值对的键。
返回
如果密钥存在于连接字符串中并且已删除,则 true;如果密钥不存在,false。
例外
              keyword 为 null(Visual Basic 中的Nothing)
示例
以下示例将现有连接字符串从使用 SQL Server 身份验证转换为 Windows 身份验证(集成安全性)。 该示例的工作原理是从连接字符串中删除用户名和密码,然后设置 SqlConnectionStringBuilder 对象的 IntegratedSecurity 属性。
警告
Microsoft不建议直接提供用户名和密码,因为它是不安全模式。 如果可能,请使用更安全的身份验证流,例如 Azure 资源的托管标识,或 SQL Server 的 Windows 身份验证。
using System.Data.SqlClient;
class Program
{
    static void Main()
    {
        try
        {
            string connectString =
                "Data Source=(local);User ID=ab;Password=myPassw0rd;" +
                "Initial Catalog=AdventureWorks";
            SqlConnectionStringBuilder builder = new(connectString);
            Console.WriteLine($"Original: {builder.ConnectionString}");
            // Remove the User ID and Password.
            builder.Remove("User ID");
            builder.Remove("Password");
            // Enable integrated security.
            builder.IntegratedSecurity = true;
            Console.WriteLine($"Modified: {builder.ConnectionString}");
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
}
/* This code example produces the following output:
 * Original: Data Source=(local);Initial Catalog=AdventureWorks;User ID=ab;Password=myPassw0rd
 * Modified: Data Source=(local);Initial Catalog=AdventureWorks;Integrated Security=True
 */
    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)
    ' Remove the user ID and password.
    builder.Remove("User ID")
    builder.Remove("Password")
    ' Turn on integrated security:
    builder.IntegratedSecurity = True
    Console.WriteLine("Modified: " & builder.ConnectionString)
Catch ex As Exception
    Console.WriteLine(ex.Message)
End Try
' This code produces the following output:
' Original: Data Source=(local);Initial Catalog=AdventureWorks;User ID=ab;Password=a1Pass@@11
' Modified: Data Source = (local);Initial Catalog=AdventureWorks;Integrated Security=True
注解
由于 Remove 方法返回一个指示其成功的值,因此在尝试从 SqlConnectionStringBuilder 实例中删除键/值对之前,不需要查找键。 由于 SqlConnectionStringBuilder 维护键/值对的固定大小集合,因此调用 Remove 方法只会将键/值对的值重置回其默认值。
由于 SqlConnectionStringBuilder 支持的键集合是固定的,因此集合中的每个项都有一个已知的默认值。 下表列出了键,以及首次初始化 SqlConnectionStringBuilder 时或调用 Remove 方法后每个键的值。
| 钥匙 | 默认值 | 
|---|---|
| 应用程序名称 | “.Net SqlClient 数据提供程序” | 
| 异步处理 | 假 | 
| AttachDBFilename | 空字符串 | 
| 连接超时 | 15 | 
| 上下文连接 | 假 | 
| 当前语言 | 空字符串 | 
| 数据源 | 空字符串 | 
| 加密 | 假 | 
| 招 | 真 | 
| 故障转移合作伙伴 | 空字符串 | 
| 初始目录 | 空字符串 | 
| 集成安全性 | 假 | 
| 负载均衡超时 | 0 | 
| 最大池大小 | 100 | 
| 最小池大小 | 0 | 
| MultipleActiveResultSets | 假 | 
| 网络库 | 空字符串 | 
| 数据包大小 | 8000 | 
| 密码 | 空字符串 | 
| 持久保存安全信息 | 假 | 
| 池 | 真 | 
| 复制 | 假 | 
| 事务绑定 | 隐式取消绑定 | 
| 用户 ID | 空字符串 | 
| 用户实例 | 假 | 
| 工作站 ID | 空字符串 | 
适用于
另请参阅
- 在 ADO.NET 中 连接字符串 
- ADO.NET 概述