FireDAC.Phys.SQLiteVDataSet.TFDLocalSQL.MultipleCursors
Delphi
property MultipleCursors: Boolean read FMultipleCursors write FMultipleCursors default True;
C++
__property bool MultipleCursors = {read=FMultipleCursors, write=FMultipleCursors, default=1};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | FireDAC.Phys.SQLiteVDataSet.pas FireDAC.Phys.SQLiteVDataSet.hpp |
FireDAC.Phys.SQLiteVDataSet | TFDLocalSQL |
説明
データセットの複製およびコピーを制御します。
MultipleCursors プロパティを使用して、データセットの複製およびコピーを制御することができます。
SQLite では、カーソルを作成して、ローカル SQL コマンド内の各参照に固有のデータセットに対する要求を処理します。TDataSet API では異なるカーソルを使用して同時に TDataSet 内を移動することができないため、FireDAC は TFDMemTable を使って FireDAC データセットを複製し、非 FireDAC データセットを TFDMemTable にコピーします。その後、この TFDMemTable を使ってカーソルを実装します。このコピー操作には時間がかかります。
ローカル SQL エンジンに登録されたどのデータセットも一度に 1 人のユーザーにしか使われないことが確実であれば、MultipleCursors を False に設定してコピーや複製を回避することができます。MultipleCursors が False のときにローカル SQL エンジンで同じデータセットに対して追加のカーソルが必要になると、例外が発生します。
メモ: 単方向データセットに対して結合操作を行うと、MultipleCursors が False の場合にパフォーマンスが低下する可能性があります。これは SQLite エンジンの制限が原因です。