次の方法で共有


SqlConnection.ChangeDatabase メソッド

開いている SqlConnection の現在のデータベースを変更します。

Public Overridable Sub ChangeDatabase( _
   ByVal database As String _) Implements IDbConnection.ChangeDatabase
[C#]
public virtual void ChangeDatabase(stringdatabase);
[C++]
public: virtual void ChangeDatabase(String* database);
[JScript]
public function ChangeDatabase(
   database : String);

パラメータ

  • database
    変更先のデータベースの名前。

実装

IDbConnection.ChangeDatabase

例外

例外の種類 条件
ArgumentException データベース名が有効ではありません。
InvalidOperationException 接続が開いていません。
SqlException データベースを変更できません。

解説

database パラメータで指定する値は、有効なデータベース名である必要があります。 database パラメータは、null 値、空の文字列、または空白文字だけの文字列にはできません。

SQL Server 2000 に対して接続プールを使用する場合、接続を閉じると、その接続は接続プールに返されます。次回、使用しているプールから接続を取り出したときに、サーバーへの最初のラウンド トリップで接続のリセット要求が発行され、ユーザーが操作を行う前に接続がリセットされます。 ChangeDatabase メソッドを呼び出した後に接続を接続プールに返してから、その接続が取り出されるまで、データベースへの接続はアクティブです。接続がアクティブであるため、データベースのドロップを防ぐことができます。

使用例

[Visual Basic, C#, C++] SqlConnection を作成し、その読み取り専用プロパティの一部を表示する例を次に示します。

 
Public Sub CreateSqlConnection()
    Dim myConnString As String = _
       "Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer;data source=mySQLServer"
    Dim myConnection As New SqlConnection(myConnString)
    myConnection.Open()
    MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _
       + ControlChars.NewLine + "Database: " + myConnection.Database)
    myConnection.ChangeDatabase("pubs")
    MessageBox.Show("ServerVersion: " + myConnection.ServerVersion _
       + ControlChars.NewLine + "Database: " + myConnection.Database)
    myConnection.Close()
End Sub

[C#] 
public void CreateSqlConnection() 
{
   string myConnString = "Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer;data source=mySQLServer";
   SqlConnection myConnection = new SqlConnection(myConnString);
   myConnection.Open();
   MessageBox.Show("ServerVersion: " + myConnection.ServerVersion
      + "\nDatabase: " + myConnection.Database);
   myConnection.ChangeDatabase("pubs");
   MessageBox.Show("ServerVersion: " + myConnection.ServerVersion
      + "\nDatabase: " + myConnection.Database);
   myConnection.Close();
}

[C++] 
public:
 void CreateSqlConnection() 
 {
    String* myConnString = S"Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer;data source=mySQLServer";
    SqlConnection* myConnection = new SqlConnection(myConnString);
    myConnection->Open();
    MessageBox::Show(String::Format( S"ServerVersion: {0}\nDatabase: {1}", myConnection->ServerVersion, myConnection->Database ));
    myConnection->ChangeDatabase(S"pubs");
    MessageBox::Show(String::Format( S"ServerVersion: {0}\nDatabase: {1}", myConnection->ServerVersion, myConnection->Database ));
    myConnection->Close();
 }

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

SqlConnection クラス | SqlConnection メンバ | System.Data.SqlClient 名前空間 | Database