1つのプロバイダを使用してMaster Detailに2つのClientDatasetsがあります。 2つの基本クエリーがデータソースのマスターディテールとして接続されていて、マスターがフィールドとしてディテールを持っています(TDatasetField)TClientDataset詳細情報クエリを終了しません
私の問題は、マスタークエリーを閉じてマスタークエリーを閉じるとディテールが同じパラメタで後で同じクエリをrepoenしようとすると、問題が発生します。
とにかく詳細クエリを閉じてください。
助けが必要ですか?
ありがとうございました
したがって、1つを閉じるともう一方を閉じる必要があると想定します。 'Master.Active:= false;というコードではなく、2行のコードを書いてみてください。 Detail.Active:= false; '完了。 –
既に完了しています... MCDS.Close; DCDS.Close;問題は、プロバイダを介してDCDSに接続されたTQueryが閉じないということです。同じデータを再度要求すると、同じパラメータですでに開いているので、詳細クエリをrepoenしません!データがデータベース内で変更された場合(それは私の場合に変更された...)、リフレッシュされません。詳細のパラメータが変更され、クエリを再度開くと、別のマスタレコードに移動すると問題ありません。 –
あなたはどのバージョンのDelphiを使用していますか?私はしばらくClientDatasetsを使用していませんが、マスターディテール(IMHO)をはるかに上手く処理するために、以前はデフォルトプロバイダを変更しました。 http://cc.embarcadero.com/Item/24031 –