Data.DB.TDataSet.Refresh
Delphi
procedure Refresh;
C++
void __fastcall Refresh(void);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | Data.DB.pas Data.DB.hpp |
Data.DB | TDataSet |
説明
データセットのデータの表示を更新するためにデータベースからデータを再度取得します。
Refresh メソッドを呼び出すと,アプリケーションの持つデータがデータベースの最新のデータであることが保証されます。たとえば,アプリケーションがデータセットに対してフィルタ処理をオフにした場合は,ただちに Refresh を呼び出して,フィルタ条件に適合していたものだけでなく,データセット内のすべてのレコードを表示する必要があります。
メモ: Refresh メソッドは,TDataSet のすべての下位オブジェクトに対しては動作しません。特に,TQuery コンポーネントは,問い合わせが「ライブ」ではない場合の Refresh メソッドはサポートしていません。静的 TQuery を更新するには,データセットを閉じてから再び開きます。
TDataSet は BeforeRefresh イベントを生成してからレコードを更新し,その後,AfterRefresh イベントを生成します。
メモ: ほとんどのデータセットは,Refresh が呼び出されたときに現在のレコードを保守します。ただし,保守できない場合もあります。たとえば,現在のレコードが別のユーザーによってサーバーから削除されている場合があります。単方向データセットは,更新後に現在のレコードを見つける仕組みを持たず,常に最初のレコードに戻ります。
警告: 単方向データセットは,カーソルを閉じたり開いたりすることでデータセットを更新します。これにより,コードに BeforeClose,AfterClose,BeforeOpen,または AfterOpen イベントハンドラが入っている場合などに,予期しない問題が発生することがあります。