dbExpress データセットの利用
dbExpress コンポーネントの利用:インデックス への移動
dbExpress は、SQL データベース サーバーに高速にアクセスできる軽量のデータベース ドライバ セットです。 dbExpress にはサポートするデータベースごとにドライバが用意され、サーバー固有のソフトウェアを dbExpress インターフェイスで統一して扱えます。dbExpress を使ったデータベース アプリケーションを配置する際は、作成したアプリケーション ファイルに 1 つの dll(サーバー固有のドライバ)を付属するだけですみます。
dbExpress では、単方向のデータセットを使ってデータベースにアクセスできます。単方向データセットは、高速で軽く、オーバーヘッドも最小でデータベース情報にアクセスできるように設計されています。ほかのデータセットの場合と同様に、単方向データセットを使って SQL コマンドをデータベース サーバーに送信し、コマンドがレコード セットを返すと、そのレコードにアクセスするカーソルを取得できます。ただし、単方向のデータセットは単方向のカーソルのみ取得できます。単方向データセットはデータのバッファリングを実行しないため、ほかのデータセットより高速で、リソースをあまり消費しません。 ただし、レコードがバッファリングされないため、単方向データセットはほかのデータセットほど柔軟ではありません。TDataSet で導入されている機能の多くは、単方向データセットに実装されていないか、例外を生成させます。次に例を示します。
- サポートされているナビゲーション メソッドは、First メソッドと Next メソッドだけです。ほかのほとんどのナビゲーション メソッドは例外を生成します。ブックマークのサポートに関するメソッドなど一部のメソッドは何もしません。
- 編集では編集内容の保持にバッファを必要とするので、組み込みの編集サポートはありません。CanModify プロパティはいつも False なので、このデータセットを編集モードにはできません。ただし単方向データセットでも、SQL UPDATE コマンドを使ってデータを更新したり、dbExpress 対応のクライアント データセットを使用するかデータセットをクライアント データセットに接続して、従来と同様に編集することはできます。
- フィルタはサポートしていません。フィルタでは複数のレコードが処理されますが、それにはバッファリングが必要だからです。単方向データセットにフィルタをかけると、例外が生成されます。そのかわり表示されるデータの制限は、データセットのデータを定義する SQL コマンドを使って設定しなければなりません。
- 参照項目はサポートしていません。これは、参照項目を含む複数レコードを保持するにはバッファリングを必要とするからです。単方向データセット上で参照項目を設定しても正しく動作しません。
これらの制限にもかかわらず、単方向データセットはデータにアクセスする強力な方法です。単方向データセットは、データにアクセスする最も高速なメカニズムであり、容易に利用し配置することができます。
単方向データセットについて以下のトピックで詳しく説明します。
- dbExpress データセットの種類
- データベース サーバーへの接続
- 表示データの指定
- データの取得
- レコードを返さないコマンドの実行
- マスタ/詳細のリンク カーソルのセットアップ
- スキーマ情報にアクセスする
- dbExpress アプリケーションのデバッグ