データベース接続を閉じる
メモ: ボーランド データベース エンジン(BDE)の使用は推奨されません。今後 BDE は機能拡張されません。たとえば、BDE では Unicode がサポートされていません。BDE を使用して新たに開発しないことをお勧めします。既存のデータベース アプリケーションを BDE から dbExpress に移行することを検討してください。
データベース接続を個別に閉じるには、CloseDatabase メソッドを呼び出します。CloseDatabase を呼び出すと、OpenDatabase を呼び出したときに 1 つ増えていたデータベースの参照カウンタの値が、1 つ減ります。参照カウンタが 0 になると、データベースが閉じられます。CloseDatabase は、閉じるデータベースを 1 つパラメータとして取ります。OpenDatabase メソッドを使ってデータベースを開いていた場合は、そのメソッドの戻り値をこのパラメータに設定できます。
Session.CloseDatabase(DBDemosDatabase);
Session->CloseDatabase(BCDemosDatabase);
指定したデータベース名が一時的(暗黙的)なデータベースコンポーネントに関連付けられていて、セッションの KeepConnections プロパティが False の場合、その一時データベースコンポーネントは解放され、接続が完全に閉じます。
メモ: KeepConnections が False の場合、一時データベースコンポーネントに関連付けられている最後のデータセットが閉じると、その一時データベースコンポーネントが自動的に閉じ、解放されます。アプリケーションは、この時点より前にいつでも CloseDatabase を呼び出して強制的に閉じることができます。KeepConnections が True の場合に一時データベースコンポーネントを解放するには、その一時データベースコンポーネントの Close メソッドを呼び出してから、セッションの DropConnections メソッドを呼び出します。
メモ: 持続的なデータベースコンポーネントの CloseDatabase を呼び出しても、実際には接続は閉じません。接続を閉じるには、データベースコンポーネントの Close メソッドを直接呼び出します。
セッション内のすべてのデータベース接続を閉じるには、次の 2 とおりの方法があります。
- セッションの Active プロパティを False に設定する
- セッションの Close メソッドを呼び出す
Active を False に設定すると、自動的に Close メソッドが呼び出されます。Close は、一時データベースコンポーネントを解放してから持続的な各データベースコンポーネントの Close メソッドを呼び出すことによって、アクティブなすべてのデータベースから切断します。最後に、Close がセッションの BDE ハンドルを nil に設定します。