AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
Delphi2010 データベース関連のコンポーネント 2010/11/08
 
前回は[Dialogs]内の「PageSetupDialog」(「ページ設定」画面)について見ました。これで[Dialogs]内のコンポーネントは終了となります。この次は、[Data Access]・[Data Controls]・[dbExpress]・[BDE]とデータベース関連が並びますが、説明は省略します。(データベースの説明だけで本1冊分以上のボリュームにもなりますし、私自身、使い込んでいませんので説明も出来ませんし…)また、後の方にある[dbGo]・[InterBase]もデータベース関連です。
 
データベースは、旧Borland社が販売していたスタンドアロン用のデータベースソフト「Paradox」と共通するデータベースエンジンを持つ「BDE」=「ボーランド・データベース・エンジン」を利用するタイプ、「ADO」=「Microsoft ActiveX Data Objects」を利用するタイプ(Microsoftなので「Access」や「Excel」のデータをアクセスする場合はこれが一番簡単・安全でしょう)、ODBCドライバを経由してデータベースアクセスを行うタイプ(色々なデータベースを利用する場合)、「InterBase」(「Firebird」も可能です)を利用するタイプ、があります。
 
「BDE」はもう古いスタイルとなってしまったので今後利用される事は余り無いでしょう。セットアッププログラムを作成する際に「BDE」を含める事が出来ます。他のタイプのものはそれぞれ別個にデータベースソフト/クライアント用ソフトをセットアップします。そのため、セットアッププログラムは大きくなりますがCD-ROM配布はしやすいですし、他のデータベースエンジンと衝突する事もほとんどありません。もともとが「Paradox」と「Delphi」の親和性が良いため、スタンドアロン用で小規模なデータベースであればよく利用されてきました。現在でも小規模なプロジェクトではそれもアリなんですが、元々がマイナー路線な「Paradox」であり、スタンドアロンでも Microsoftな「Access」+「Visual BASIC」等による Microsoft Jet Engine や DAO、ADO の利用が多くなっています。時代は、クライアント/サーバー(C/S)型なデータベースがメインになってきています。旧Borland社でも、別途費用が掛かりますが「Interbase」というデータベースソフトを提供されてきました。ローカル版=スタンドアロンでの使用も可能ですし、そのままC/S型としても利用出来ます。これと互換性の高いフリーの「Firebird」もあります(データベースコーナーで紹介しています)。商用ベースとしての「MS SQL Server」「オラクル」「サイベース」等や、フリーのものでも「PostgreSQL」「MySQL」等もあります。これから勉強されるのであれば、そういったC/S型のデータベース=SQLの勉強をされる方が後々のためにもなると思います。知識として知っておく程度の意味で「BDE」を触っておく、という事であれば良いと思います。
 
 
[Data Acess]内(概略説明はヘルプより)
TDataSource は、データセットコンポーネントとフォーム上のデータベース対応コントロール間のインターフェイスを提供します。
TClientDataSet は、データベースに依存しないデータセットを実装します。
TDataSetProvider は、データセットからデータを提供し、そのデータセットまたはデータベース サーバーに更新を反映します。
TXMLTransform は,XML ドキュメントをデータパケットに変換するか,XML データパケットを別の構造の XML ドキュメントに変換します。
TXMLTransformProvider は,XML ドキュメントからデータを提供し,XML ドキュメントを更新します。
TXMLTransformClient は,XML ドキュメントとプロバイダコンポーネントの間のアダプタとして機能します。
 
[Data Controls]内(概略説明はヘルプより)
ここにあるものは、データベースのデータ内容をコンポーネントを利用してそのまま直接見えるようにアクセスできるようにしましょう、というような感じです。データベースのデータを簡単に扱えるようになりますが、データベースを作り込んでいくと逆に、簡単にアクセスできてしまって困るケースもあります。
TDBGrid は、データセット内のレコードを表形式で表示したり操作します。
TDBNavigator(データベース ナビゲータ)は、データセット内のデータのナビゲーションや、データに対する操作の実行(たとえば、空レコードの挿入やレコードのポストなど)に使用されます。
TDBText は、フィールドの値をフォーム上に表示するデータベース対応コントロールを表します。
TDBEdit は、データセットのフィールドを表示および編集できる 1 行編集コントロールを表します。
TDBMemo は、データセット内のフィールドを表示および編集できる複数行編集コントロールを表します。
TDBImage は、データセットの現在のレコードの BLOB(Binary Large Object)フィールドに格納されているグラフィック画像を表します。
TDBListBox は、ユーザーがリストから項目を選択することによってフィールド値を変更できるデータベース対応リスト ボックスを表します。
TDBComboBox は、データベース対応コンボ ボックス コントロールを表します。
TDBCheckBox は、ユーザーが 1 つの値を選択または選択解除できるデータベース対応コントロールです。
TDBRadioGroup は、データベースに関連付けられているラジオ ボタンのグループを表します。
TDBLookupListBox は、別のデータセット内のデータを必要とするフィールドに入力するために、ルックアップ項目のリストを提供します。
TDBLookupComboBox は、あるデータセット内の一連のフィールド値と、別のデータセット内の対応する一連の値を関連付けるコンボ ボックスを表します。
TDBRichEdit は、データセット内のリッチ テキスト メモ フィールドを表示および編集できる複数行編集コントロールを表します。
TDBCtrlGrid は、データソース内のレコードを自由形式レイアウトで表示します。
 
[dbExpress]内(概略説明はヘルプより)
TSQLConnectionは、データベースサーバーへの dbExpress接続をカプセル化したものです。
 
TSQLConnectionを使用すると、dbExpressデータベース接続を表現することができます。単一のTSQLConnectionコンポーネントから提供される接続を、複数のSQLデータセットコンポーネントで、それぞれのTSQLConnectionプロパティを通じて共有することができます。
TSQLDataSet は、dbExpressを使って取得されたデータを表します。
 
TSQLDataSet は、dbExpressを使ってデータベース情報にアクセスするための、汎用の単方向データセットです。TSQLDataSet コンポーネントは、設計時にフォームやデータモジュールに追加することも、実行時に動的に作成することもできます。
TSQLQuery は、dbExpress を使って実行されるクエリを表します。
TSQLStoredProc は、dbExpress を使用して実行されるストアドプロシージャを表します。
TSQLTable は、dbExpress を使ってアクセスされるデータベース テーブルを表します。
DataSnap サーバー メソッドの呼び出しに使用される TDataSet です。
TSimpleDataSet は、dbExpress を使用してデータを取得し、メモリに内部的にキャッシュします。
「dbExpress」の説明は、以下ヘルプより抜粋
dbExpress は、SQL データベース サーバーに高速にアクセスできる軽量のデータベース ドライバ セットです。 dbExpress にはサポートするデータベースごとにドライバが用意され、サーバー固有のソフトウェアを dbExpress インターフェイスで統一して扱えます。dbExpress を使ったデータベース アプリケーションを配置する際は、作成したアプリケーション ファイルに 1 つの dll(サーバー固有のドライバ)を付属するだけですみます。
 
dbExpress では、単方向のデータセットを使ってデータベースにアクセスできます。単方向データセットは、高速で軽く、オーバーヘッドも最小でデータベース情報にアクセスできるように設計されています。ほかのデータセットの場合と同様に、単方向データセットを使って SQL コマンドをデータベース サーバーに送信し、コマンドがレコード セットを返すと、そのレコードにアクセスするカーソルを取得できます。ただし、単方向のデータセットは単方向のカーソルのみ取得できます。単方向データセットはデータのバッファリングを実行しないため、ほかのデータセットより高速で、リソースをあまり消費しません。 ただし、レコードがバッファリングされないため、単方向データセットはほかのデータセットほど柔軟ではありません。
データベース関連のコンポーネントは利用せず、SQLでデータ参照・編集を行い、実際の作業は通常のコンポーネントやプログラミングで対応すると割り切ってしまえば良いようです。単方向というのは、データの最初(First)、次のデータ(Next)のアクセスは出来ますが、前に戻る(Prior)とか任意の場所へ(MoveBy)というのは出来ません、というものです。まぁ、必要な分だけをSQLで絞り込めば問題もないでしょう。
 
[BDE]内(概略説明はヘルプより)
TTableは、データベーステーブルをカプセル化したものです。
 
TTableを使用すると、ボーランドデータベースエンジン(BDE)を使って1つのデータベーステーブル内のデータにアクセスすることができます。TTableを使うとデータベーステーブル内のあらゆるレコードやフィールドに直接にアクセスできますが、そのデータベーステーブルは、Paradoxや、dBASE、Access、FoxPro、ODBC準拠のデータベースのものでも、InterBaseや、Oracle、Sybase、MS-SQL Server、Informix、DB2といったリモートサーバー上の SQLデータベースのものでもかまいません。テーブルコンポーネントは、範囲やフィルタを指定することで、データベーステーブル内のレコードのサブセットを扱うこともできます。
TQueryは、SQL文を基に得られた結果セットを持つデータセットを表します。
 
TQueryを使用すると、SQL文を使ってデータベース内の1つまたは複数のテーブルにアクセスすることができます。クエリコンポーネントは、リモートデータベース サーバー(Sybase、SQL Server、Oracle、Informix、DB2、InterBase など)にも、ローカルテーブル(Paradox、InterBase、dBASE、Access、FoxProなど)にも、ODBC準拠のデータベースにも使用できます。
TStoredProc は、BDE ベースのアプリケーションにおけるストアド プロシージャをカプセル化したものです。
TDatabase は、BDE ベースのデータベース アプリケーションにおける 1 つ 1 つのデータベースに対する接続を個別に管理するためのものです。
TSession は、アプリケーションで使用するデータベース接続のグループをグローバルに管理するためのものです。
TBatchMove は、レコード群またはテーブル全体に対してデータベース操作を実行します。
TUpdateSQL は、更新を直接ポストできないクエリやストアド プロシージャに代わって、キャッシュされた更新を適用します。
 
[dbGo]内(概略説明はヘルプより)
TADOConnectionは,ADOデータストアに接続します。
 
TADOConnectionクラスは,ADO接続オブジェクトをカプセル化します。TADOConnectionは,ADOデータストアに接続するために使用します。1つの TADOConnectionコンポーネントが提供する接続は,複数のADOコマンドとデータセットコンポーネントで Connectionプロパティを使って共有できます。
TADOCommandは,ADOコマンドオブジェクトを表します。
 
TADOCommandを使用すると,ADO(ActiveX Data Objects)プロバイダを介してアクセスされるデータストアに対してコマンドを発行できます。
TADODataSet は,ADO データストアから取り出されるデータセットを表します。
TADOTable は,ADO データストアを介してアクセスされるテーブルをカプセル化するデータセットコンポーネントです。
TADOQuery は,ADO データストアに SQL を発行する手段を提供します。
TADOStoredProc は,ADO データベースのストアドプロシージャをカプセル化します。
TRDSConnection は,RDS DataSpace オブジェクトを実装します。
以下、ADOについてのヘルプより抜粋
ツールパレットの[ADO]ページには dbGoコンポーネントがあります。これらのコンポーネントを使用して,ADO データストアへ接続したり,コマンドを実行したり,ADOフレームワークを使用するデータベースにあるテーブルからデータを取得することができます。dbGoコンポーネントを利用するためには,ADO 2.1(またはそれ以降)がホストコンピュータにインストールされている必要があります。加えて,対象のデータベースシステム用のクライアントソフトウェア(Microsoft SQL Server など)と,そのデータベースシステム専用のOLE DB ドライバまたは ODBCドライバがインストールされている必要があります。
 
ほとんどの dbGoコンポーネントには,ほかのデータアクセスメカニズムで使用されるコンポーネントと同等の機能を持つ,データベース接続コンポーネント(TADOConnection)や各種データセットがあります。さらにdbGoには,TADOCommand も用意されています。この単純なコンポーネントはデータセットではありませんが,ADOデータストア上で実行する SQLコマンドを表します。
 
[InterBase]内(概略説明はヘルプより)
TIBTableは,データベーステーブルをカプセル化するデータセットコンポーネントです。
 
TIBTableを使用すると,1つのテーブルやビューのデータにアクセスできます。TIBTableは,基底のInterBaseデータベーステーブル内の各レコードや各項目への直接のアクセスを提供します。またテーブルコンポーネントは,フィルタを使ってデータベーステーブル内のレコードのサブセットを処理することもできます。
TIBQueryはInterBase SQL文を実行します。
 
SQL文を使ってデータベース内の複数のテーブルにアクセスするには,TIBQueryを使用します。読み出し専用データセットを提供するTIBQueryコンポーネントは,InterBaseクライアント/サーバー環境に最適です。TIBQueryが表す結果セットを更新するには,このコンポーネントとTIBUpdateSQL コンポーネントを一緒に使用します。
TIBStoredProcは,データベースサーバー上のストアドプロシージャをカプセル化します。
TIBDatabaseを使用すると,InterBase データベース接続をカプセル化できます。
TIBTransactionは,データベースアプリケーションで 1つ以上のデータベース接続に対する個別のトランザクション制御を提供します。
TIBUpdateSQL は,更新のキャッシュが有効な場合に,読み出し専用のデータセットを更新するためのオブジェクトを提供します。
TIBDataSet は,InterBase の SQL 文を実行します。
 
TIBDataSetを使用すると,InterBaseのSQL文を実行できます。各TIBDataSetコンポーネントには,データを取り出す文(一般には SQL SELECT),それらのレコードを変更する文,レコードを挿入する文,レコードを削除する文,およびデータセットを更新する文に対するプロパティがあります。
TIBSQLは,最小限のオーバーヘッドで InterBaseの SQL文を実行するオブジェクトを提供します。
 
TIBSQLは,データベース対応コントロールとの標準インターフェースを備えていない片方向のオブジェクトです。
TIBDatabaseInfoは,接続しているデータベースに関する情報を返します。
 
TIBDatabaseInfoを使用すると,接続で利用したオンディスク構造体(ODS)のバージョン,割り当てたデータベースキャッシュバッファの数,読み書きしたデータベースページ数,WAL 情報など,接続しているデータベースについての情報を取り出すことができます。
TIBSQLMonitorは,InterBaseサーバーに渡す動的SQLを監視します。
 
TIBSQLMonitorを使用すると,InterBaseアプリケーションで発生する動的SQLを監視できます。その場合,SQLモニタが各データベース接続からステータス情報を受け取ることができるように,各TIBDatabaseコンポーネントでTraceFlagsを有効にします。
TIBEventsは,アプリケーションが生成されたイベントに応答できるようにします。
 
TIBEventsコンポーネントを使用すると,アプリケーションは,InterBaseサーバーが生成するイベントを対象として登録したり,非同期に処理したりできます。InterBaseイベントによって,アプリケーションは,同時に実行しているほかのアプリケーションが行う動作やデータベースの変更に応答できます。その場合,データベースを定期的にポーリングしたり,ほかのアプリケーションと直接対話したりする必要はありません。
TIBExtract は,InterBase サーバーからメタデータを取り出します。
「−」とあるのはヘルプに記載がありませんので不明です。インターネット上で検索すればヒットすると思われますのでそちらを参照して下さい。
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
▲2010/11/07
 2010/11/08
▼2010/11/09
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.