データベース接続の検索
メモ: ボーランド データベース エンジン(BDE)の使用は推奨されません。今後 BDE は機能拡張されません。たとえば、BDE では Unicode がサポートされていません。BDE を使用して新たに開発しないことをお勧めします。既存のデータベース アプリケーションを BDE から dbExpress に移行することを検討してください。
特定のデータベースコンポーネントがすでにセッションに関連付けられているかどうかを確認するには、セッションの FindDatabase メソッドを使用します。FindDatabase は、検索するデータベースの名前を 1 つパラメータとして取ります。この名前は BDE エリアスまたはデータベースコンポーネントの名前です。Paradox または dBASE の場合は、絶対パス名でもかまいません。
FindDatabase は、一致するものが見つかった場合はそのデータベースコンポーネントを返し、それ以外の場合は nil を返します。
次のコードは,DBDEMOS エリアスを使ってデフォルトセッションのデータベースコンポーネントを検索し、見つからなければデータベースコンポーネントを作成して開きます。
var DB: TDatabase; begin DB := Session.FindDatabase('DBDEMOS'); if (DB = nil) then { セッションにデータベースがなければ} DB := Session.OpenDatabase('DBDEMOS'); { 作成して開く} if Assigned(DB) and DB.Connected then begin DB.StartTransaction; ... end; end;
TDatabase *DB = Session->FindDatabase("BCDEMOS"); if ( !DB ) // セッションにデータベースがないので DB = Session->OpenDatabase("BCDEMOS"); // 作成して開く if (DB && DB->Connected) { if (!DB->InTransaction) { DB->StartTransaction(); . . . } }