データベース接続を閉じる

提供: RAD Studio
移動先: 案内検索

データベース セッションの管理:インデックス への移動

メモ: ボーランド データベース エンジン(BDE)の使用は推奨されません。今後 BDE は機能拡張されません。たとえば、BDE では Unicode がサポートされていません。BDE を使用して新たに開発しないことをお勧めします。既存のデータベース アプリケーションを BDE から dbExpress に移行することを検討してください。

データベース接続を個別に閉じるには、CloseDatabase メソッドを呼び出します。CloseDatabase を呼び出すと、OpenDatabase を呼び出したときに 1 つ増えていたデータベースの参照カウンタの値が、1 つ減ります。参照カウンタが 0 になると、データベースが閉じられます。CloseDatabase は、閉じるデータベースを 1 つパラメータとして取ります。OpenDatabase メソッドを使ってデータベースを開いていた場合は、そのメソッドの戻り値をこのパラメータに設定できます。

Session.CloseDatabase(DBDemosDatabase);
Session->CloseDatabase(BCDemosDatabase);

指定したデータベース名が一時的(暗黙的)なデータベースコンポーネントに関連付けられていて、セッションの KeepConnections プロパティFalse の場合、その一時データベースコンポーネントは解放され、接続が完全に閉じます。

メモ: KeepConnectionsFalse の場合、一時データベースコンポーネントに関連付けられている最後のデータセットが閉じると、その一時データベースコンポーネントが自動的に閉じ、解放されます。アプリケーションは、この時点より前にいつでも CloseDatabase を呼び出して強制的に閉じることができます。KeepConnectionsTrue の場合に一時データベースコンポーネントを解放するには、その一時データベースコンポーネントの Close メソッドを呼び出してから、セッションの DropConnections メソッドを呼び出します。

メモ: 持続的なデータベースコンポーネントの CloseDatabase を呼び出しても、実際には接続は閉じません。接続を閉じるには、データベースコンポーネントの Close メソッドを直接呼び出します。

セッション内のすべてのデータベース接続を閉じるには、次の 2 とおりの方法があります。

  • セッションの Active プロパティを False に設定する
  • セッションの Close メソッドを呼び出す

ActiveFalse に設定すると、自動的に Close メソッドが呼び出されます。Close は、一時データベースコンポーネントを解放してから持続的な各データベースコンポーネントの Close メソッドを呼び出すことによって、アクティブなすべてのデータベースから切断します。最後に、Close がセッションの BDE ハンドルを nil に設定します。

関連項目