Edit

Share via


SqlConnectionStringBuilder.Remove(String) Method

Definition

Removes the entry with the specified key from the SqlConnectionStringBuilder instance.

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

Parameters

keyword
String

The key of the key/value pair to be removed from the connection string in this SqlConnectionStringBuilder.

Returns

true if the key existed within the connection string and was removed; false if the key did not exist.

Exceptions

keyword is null (Nothing in Visual Basic)

Examples

The following example converts an existing connection string from using SQL Server Authentication to Windows Authentication (integrated security). The example works by removing the user name and password from the connection string, and then setting the IntegratedSecurity property of the SqlConnectionStringBuilder object.

Warning

Microsoft does not recommend providing your user name and password directly, because it's an insecure pattern. Where possible, use more secure authentication flows, such as Managed Identities for Azure resources, or Windows authentication for SQL Server.

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

Remarks

Because the Remove method returns a value that indicates its success, it is not required to look for a key before trying to remove the key/value pair from the SqlConnectionStringBuilder instance. Because the SqlConnectionStringBuilder maintains a fixed-size collection of key/value pairs, calling the Remove method simply resets the value of the key/value pair back to its default value.

Because the collection of keys supported by the SqlConnectionStringBuilder is fixed, every item within the collection has a known default value. The following table lists the keys, and the value for each when the SqlConnectionStringBuilder is first initialized, or after the Remove method has been called.

Key Default value
Application Name ".Net SqlClient Data Provider"
Asynchronous Processing False
AttachDBFilename Empty string
Connection Timeout 15
Context Connection False
Current Language Empty string
Data Source Empty string
Encrypt False
Enlist True
Failover Partner Empty string
Initial Catalog Empty string
Integrated Security False
Load Balance Timeout 0
Max Pool Size 100
Min Pool Size 0
MultipleActiveResultSets False
Network Library Empty string
Packet Size 8000
Password Empty string
Persist Security Info False
Pooling True
Replication False
Transaction Binding Implicit Unbind
User ID Empty string
User Instance False
Workstation ID Empty string

Applies to

See also