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 Windows Authentication to using 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.

Note

This example includes a password to demonstrate how SqlConnectionStringBuilder works with connection strings. In your applications, we recommend that you use Windows Authentication. If you must use a password, do not include a hard-coded password in your application.

using Microsoft.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();
    }
}

The example displays the following text in the console window:

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  

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 "Framework Microsoft SqlClient Data Provider" when running on .NET Framework. "Core Microsoft SqlClient Data Provider" otherwise.
AttachDBFilename Empty string
Connection Timeout 15
Context Connection(Obsolete) False
Current Language Empty string
Data Source Empty string
Encrypt False in versions prior to 4.0, True in versions 4.0 and up
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