Bde.DBTables.TUpdateSQL
Delphi
TUpdateSQL = class(TSQLUpdateObject)
C++
class PASCALIMPLEMENTATION TUpdateSQL : public TSQLUpdateObject
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
class | public | Bde.DBTables.pas Bde.DBTables.hpp |
Bde.DBTables | Bde.DBTables |
説明
TUpdateSQL は、更新を直接ポストできないクエリやストアド プロシージャに代わって、キャッシュされた更新を適用します。
TUpdateSQL オブジェクトを使用すると、キャッシュされた更新が有効化された時に TQuery または TStoredProc コンポーネントの表す読み取り専用データセットを更新するための SQL 文を提供することができます。データセットは、設計によって読み取り専用になっている場合と、環境によって読み取り専用になっている場合があります。設計によって読み取り専用になっている場合、アプリケーション自体ではデータ更新用のユーザー インターフェイスは提供されませんが、背後でプログラムによって行う方法を設けることができます。データセットが環境によって読み取り専用になっているなら、それはボーランド データベース エンジン(BDE)が読み取り専用の結果セットを返したということです。通常、これが起きるのは、複数のテーブルに対してクエリを行った場合です。SQL-92 の定義では、そのようなクエリは読み取り専用になります。
TUpdateSQL は、一部の開発者が SQL-92 の制限だと考えている事柄を回避するメカニズムを提供します。これを使うことで、開発者は通常なら読み取り専用である結果セットに対して別々の更新クエリを実行する INSERT や UPDATE や DELETE などの文を作成することができ、エンド ユーザーは更新用のクエリが別々に分かれていることを意識しないで済みます。
実際のアプリケーションでは、TUpdateSQL オブジェクトはデータ モジュールやデータ フォーム上に置かれ、TQuery コンポーネントや TStoredProc コンポーネントに対してそのコンポーネントの UpdateObject プロパティによってリンクされます。UpdateObject プロパティが有効な TUpdateSQL オブジェクトを指していると、キャッシュされた更新が適用されるときに、その更新用オブジェクトに含まれる SQL 文が自動的に適用されます。