データベース コンポーネントを追加する(コード不要の IBX チュートリアル)
チュートリアル:InterBase Express を使用してコードを書かずにアプリケーションを作成する への移動
この例では、テキスト データと画像データを含むデータベース テーブルを表示し、その中を移動する方法を学びます。
概要
コンポーネントを組み立てた後のダイアログ ボックスは次のようになります。
ビジュアル コンポーネントは、TPanel コンポーネントの上に配置します。 ビジュアル コンポーネントには、データベースの画像やテキストを表示できるデータベース対応コンポーネントが含まれます。 図からわかるように、データベース対応コンポーネントには、デザイン モードで作業をしている間にもデータベースのデータが表示されます。
図では、TIBDatabaseTIBDatabase などの 4 つのデータベース コンポーネントが TDBImageTDBImage の上に置かれています。 これらは表示されない非ビジュアル コンポーネントなので、フォーム上のどこに置いても問題ありません。
InterBase のインストール
この例では、InterBase がインストールされていることが必須となります。
- InterBase 2020 は、RAD Studio Alexandria インストールファイル内に含まれています。
- スタート | プログラム | Embarcadero InterBase 2020 | 64-bit/32-bit instance = gds_db | InterBase サーバー マネージャ [instance = gds_db] を選択し、InterBase サーバーが実行されていることを確認します。例を作成して実行するには、InterBase サーバーが稼働している必要があります。
- システム パスに gds32.dll ファイルが含まれていることを確認します。
プロジェクトの作成
新規プロジェクトを作成します。
- Delphi の場合は、[ファイル|新規作成|VCL フォーム アプリケーション - Delphi]を選択します。
- C++ の場合は、[ファイル|新規作成|VCL フォーム アプリケーション - C++Builder]を選択します。
オブジェクト インスペクタで、フォームの Caption プロパティを "FISH FACTS" に設定します。 フォームの Height コンポーネントを 425 に、Width コンポーネントを 550 に変更します。
[ファイル|すべて保存]をクリックしてプロジェクトを保存します。
- Delphi の場合、ファイルを FFactWin.pas という名前で保存します。 プロジェクトは FishFact.dproj という名前で保存します。
- C++ の場合、ファイルを FFactWin.cpp という名前で保存します。 プロジェクトは FishFact.cbproj という名前で保存します。
この後のアプリケーションに関する作業は、プログラミング言語に左右されません。 Delphi でも C++Builder でも同じようにコンポーネントを扱うことができます。 コードを書く必要はありません。
データベース コンポーネントを追加する
まず、データベース コンポーネントを追加します。 その後で、データベース対応コンポーネントを構成して、データベース コンポーネントからデータを取得できるようにします。
- ツール パレットから、TIBDatabase(InterBase データベース接続を表す)をフォーム上にドラッグします。
- 次に、データベースのプロパティを設定します。
メモ: TIBDatabase のプロパティを設定するには、2 つのツールを使用する必要があります。
- オブジェクト インスペクタ: デフォルトで IDE の左下部分に表示されており、[表示|オブジェクト インスペクタ]を選択しても表示させることができます。
- データベース コンポーネント エディタ: 追加した TIBDatabase をダブルクリックすると表示されます。
-
-
- DatabaseNameプロパティ([オブジェクト インスペクタ]で)または[データベース]フィールド([データベース コンポーネント設定]で)をデータベースのファイル パスに設定します。 このチュートリアルでは、RAD Studio と一緒にインストールされている DBDEMOS データベースを使用します。 パスは通常、
C:\Users\Public\Documents\Embarcadero\Studio\22.0\Samples\Data\dbdemos.gdb
です。 - フォーム デザイナで、TIBDatabase を選択します。 オブジェクト インスペクタで、Params プロパティの横の参照([...])ボタンをクリックして、文字列リスト エディタを開きます。 次の 2 行を入力します(データベース用のユーザー名とパスワードを指定するためのものです)。
- user_name=sysdba
- password=masterkey
- [OK]をクリックして文字列リスト エディタを閉じます。
- これで、LoginPrompt を False に設定するか([オブジェクト インスペクタ]で)、[ログイン プロンプト]をオフにした([データベース コンポーネント設定]で)場合に、データベースに接続するたびにユーザー名とパスワードを入力するよう求められることがなくなります。
- 最後に、オブジェクト インスペクタで TIBDatabase の Connected を True に設定します。
- DatabaseNameプロパティ([オブジェクト インスペクタ]で)または[データベース]フィールド([データベース コンポーネント設定]で)をデータベースのファイル パスに設定します。 このチュートリアルでは、RAD Studio と一緒にインストールされている DBDEMOS データベースを使用します。 パスは通常、
-
メモ: この例のようにアプリケーションにパスワードを埋め込むと、誰でもログインすることなくデータベースにアクセスできるようになります。
- フォームに TIBTransaction を追加します。 TIBTransaction は、データベース接続を制御するためのものです。 データベース内のデータにアクセスするには、データベース コンポーネントの他に TIBTransaction が必要です。
- オブジェクト インスペクタで TIBTransaction を構成します。ドロップダウン メニューを使って、DefaultDatabase プロパティを "IBDatabase1" に設定してください。
- フォーム デザイナで TIBDatabase コンポーネントを選択し、DefaultTransaction プロパティを "IBTransaction1" に設定します。 これで 2 つのコンポーネントが結び付けられます。
- TIBDataSet をフォーム上に置きます。 このコンポーネントはデータベース テーブルをカプセル化するためのものです。
- Transaction プロパティを "IBTransaction1" に設定します。
- ドロップダウン メニューを使用して Database プロパティを "IBDatabase1" に設定することで、この TIBDataSet をデータベースに接続します。
- "IBDataSet1" TIBDataSet を右クリックして、[SQL の編集]を選択します。
- CommandText プロパティを、
select * from BIOLIFE
に設定します。 - "IBDataSet1" TIBDataSet を右クリックして、[データセットの編集]を選択します。
- "SPECIES_NO" を [キー フィールド]列から選択し、[SQL 文の生成]ボタンをクリックします。
- [OK]ボタンをクリックしてウィザードを閉じます。
- フォームに TDataSource を追加します。 このコンポーネントは、TIBDataSet とデータ対応コントロール間のインターフェイスとして機能します。 ドロップダウン メニューで、TDataSource の DataSet を、"IBDataSet1" に設定します。
これでデータベース コンポーネントが配置されました。次は、データベース データを表示するためのコンポーネントの追加に進みます。