|
■データベースコンポーネントを使う |
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|