Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
SqlConnection Class
 ChangeDatabase Method
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
SqlConnection..::.ChangeDatabase Method

Updated: November 2007

Changes the current database for an open SqlConnection.

Namespace:  System.Data.SqlClient
Assembly:  System.Data (in System.Data.dll)

Visual Basic (Declaration)
Public Overrides Sub ChangeDatabase ( _
    database As String _
)
Visual Basic (Usage)
Dim instance As SqlConnection
Dim database As String

instance.ChangeDatabase(database)
C#
public override void ChangeDatabase(
    string database
)
Visual C++
public:
virtual void ChangeDatabase(
    String^ database
) override
J#
public void ChangeDatabase(
    String database
)
JScript
public override function ChangeDatabase(
    database : String
)

Parameters

database
Type: System..::.String

The name of the database to use instead of the current database.

Implements

IDbConnection..::.ChangeDatabase(String)
ExceptionCondition
ArgumentException

The database name is not valid.

InvalidOperationException

The connection is not open.

SqlException

Cannot change the database.

The value supplied in the database parameter must be a valid database name. The database parameter cannot contain a null value, an empty string, or a string with only blank characters.

When you are using connection pooling against SQL Server 2000, and you close the connection, it is returned to the connection pool. The next time the connection is retrieved from the pool used, the reset connection request piggybacks on the first round trip to the server and executes before the user performs any operations. From the time that you return a connection to the connection pool after calling the ChangeDatabase method, until the time the connection is retrieved, the connection remains active on the database. This prevents you from dropping the database because the connection is still active.

The following example creates a SqlConnection and displays some of its read-only properties.

Visual Basic
Private Sub ChangeSqlDatabase(ByVal connectionString As String)
    ' Assumes connectionString represents a valid connection string
    ' to the AdventureWorks sample database.
    Using connection As New SqlConnection(connectionString)

        connection.Open()
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion)
        Console.WriteLine("Database: {0}", connection.Database)

        connection.ChangeDatabase("Northwind")
        Console.WriteLine("Database: {0}", connection.Database)
    End Using
End Sub

C#
private static void ChangeSqlDatabase(string connectionString)
{
    // Assumes connectionString represents a valid connection string
    // to the AdventureWorks sample database.
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        connection.Open();
        Console.WriteLine("ServerVersion: {0}", connection.ServerVersion);
        Console.WriteLine("Database: {0}", connection.Database);

        connection.ChangeDatabase("Northwind");
        Console.WriteLine("Database: {0}", connection.Database);
    }
}

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile for Smartphone, Windows Mobile for Pocket PC

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 3.5, 2.0, 1.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker