| |
■データベースコンポーネントを使う |
|
| |
|
Delphiは、優れたデータベースコンポーネントを用意しています。これらのコンポーネントを使えばお手軽にデータベースアプリケションが出来てしまいます。そこでよく使うデータベースコンポーネントを実際に使ってみましょう。コードの記述はほとんどなく設定がほとんどです。作成の手順は次のように行います。
|
|
| |
|
@データモジュールの作成 |
|
|
| |
|
Aコードの記述 |
|
|
| |
|
Bフォームの作成 |
|
|
| |
|
|
|
|
|
●データモジュールの作成 |
|
| |
|
|
これからここで作成したアプリケーションを拡張していく際にコンポーネントも追加していきます。これをフォームに配置していくと画面やコードの記述が煩雑になってしまうのでデータアクセスコンポーネントをデータモジュールに配置します。
|
|
| |
|
|
|
|
| |
|
●使用したコンポーネント |
|
| |
|
|
|
|
説明
|
コード記述
|
設定
|
 |
映画情報用DataSourceコンポーネント |
なし
|
〇
|
 |
映画情報用Queryコンポーネント |
〇
|
〇
|
|
|
| |
|
|
|
| |
|
●プロパティの設定 |
|
| |
|
|
■CinemaDS |
|
| |
|
|
| コンポーネント:TDataSource |
| プロパティ |
設定値 |
| DataSet |
CinemaQuery |
| Name |
CinemaDS |
|
|
| |
|
|
|
|
|
| |
|
|
■CinemaQuery |
|
| |
|
|
| コンポーネント:TQuery |
| プロパティ |
設定値 |
| DataBaseName |
作成したエリアス名 |
| Name |
CineamQuery |
| RequestLive |
True
|
|
|
|
SQL
|
SELECT *
FROM cinema.db |
|
|
| |
|
|
必ずRequestLiveをTrueに設定する事を忘れないでください。設定しないと更新がおこなえません。 |
|
| |
|
|
|
|
|
|
|
●コードの記述 |
|
| |
|
|
■イベントハンドラ |
|
| |
|
|
| コンポーネント:CinemaDM |
| イベント |
発生タイミング |
| OnCreat |
データモジュール作成時 |
|
|
| |
|
|
|
|
|
| |
|
|
| コンポーネント:CinemaQuery |
| イベント |
発生タイミング |
| AfterInsert |
挿入後 |
|
|
| |
|
|
|
| |
|
■CinemaDM.OnCreatイベント |
|
| |
|
|
procedure
TCinemaDM.DataModuleCreate(Sender: TObject);
begin
CinemaQuery.Open;//データセットを開く
end; |
|
| |
|
|
|
|
|
| |
|
■CinemaQuery.AfterInsertイベント |
|
| |
|
|
procedure
TCinemaDM.CinemaQueryAfterInsert(DataSet: TDataSet);
begin
Form1.DBEdit3.text := DateTimeToStr(Now);
//登録日時を自動的に挿入する
end; |
|
| |
|
|
|
|
|
|
|
●フォームの作成 |
|
| |
|
|
|
|
|
| |
|
|
映画情報一覧表示用フォーム
|
映画情報登録・更新用フォーム
|
|
| |
|
|
|
|
|
| |
|
●使用したコンポーネント |
|
| |
|
|
|
|
説明
|
コード記述
|
設定
|
 |
映画情報一覧表示用DBGrid |
なし
|
〇
|
 |
登録日時、映画名表示用DBEdit |
なし
|
〇
|
 |
コメント表示用DBEdit |
なし
|
〇
|
 |
映画情報操作用DBNavigator |
なし
|
〇
|
|
|
| |
|
|
|
|
|
| |
|
|
■映画情報一覧表示用DBGrid |
|
| |
|
|
| プロパティ名 |
設定値 |
|
Columns
|
0-w_day
1-cinema_name |
| DataSource |
CinemaDM.CinemaDS |
|
|
| |
|
|
Columnsプロパティの設定は上のDBGridのイメージにリンクがはってあるので参考にしてください。 |
|
| |
|
|
|
|
| |
|
|
■登録日時用DBEdit |
|
| |
|
|
| プロパティ名 |
設定値 |
| DataField |
w_day |
| DataSource |
CinemaDM.CinemaDS |
| Name |
w_dayDBEdit |
|
|
| |
|
|
|
|
|
| |
|
|
■映画名用DBEdit |
|
| |
|
|
| プロパティ名 |
設定値 |
| DataField |
cinema_name |
| DataSource |
CinemaDM.CinemaDS |
| Name |
TitleDBEdit |
|
|
| |
|
|
|
|
|
| |
|
|
■コメント用DBMemo |
|
| |
|
|
| プロパティ名 |
設定値 |
| DataField |
comment |
| DataSource |
CinemaDM.CinemaDS |
|
|
| |
|
|
|
|
|
| |
|
|
|
|
|