2

TClientDataSets でネストされたデータベース構造を使用します。私はプログラミングが初めてなので、私の専門用語は 10 対 1 で間違っています。

私の問題は次のとおりです。データベース構造とネストされた構造のすべてのフィールドを定義してから、マスター clientDataSet の CreatDataSet メソッドを呼び出したところ、機能しました。次に、別のデータ フィールドをマスター ClientDataSet に追加したいと考えました。次に、Master ClientDataSet の ClearData メソッドを呼び出し、CreateDataSet を再度呼び出して新しい構造を作成しようとしました。ここで私の問題が発生します。「無効なフィールド タイプ エラー」が表示されますが、何が問題なのかよくわかりません。

では、createdata set メソッドを呼び出し、次に cleardata メソッドを呼び出し、フィールドを追加してから createdataset メソッドを再度呼び出した後、「無効なフィールド タイプ」エラーを発生させずに exsta フィールドを作成するにはどうすればよいですか?

この問題に関する情報はありますか。Delphi 2007 を使用しています

敬具

リアン・デ・ヴィリエ

4

2 に答える 2

2

Delphi のバグです。

CreateDataSet を呼び出す前に YourDataset.FieldDefs.Clear を呼び出すと、機能するはずです。

詳細については、この QC レポートをご覧ください。

http://qc.codegear.com/wc/qcmain.aspx?d=38984

編集:

あなたの問題をもっと注意深く読んだ後、問題は別のものかもしれませんが、FieldDefs.Clear を試して結果を教えてください。

于 2008-12-06T13:34:44.147 に答える
0

この質問をしてから長い時間が経ちましたが、問題はネストされたデータセット フィールドに特に関係していると思います。このエラーは以前にも見たことがありますが、特定のフィールドが作成される順序に関係していると思います。私の記憶が正しければ、ネストされたデータセット フィールドが定義または作成される前にマスター データセットを作成しようとすると、この無効なフィールド タイプ エラーが発生します。

ネストされたデータセット フィールドを数式から削除することから始めて、それでも問題が発生するかどうかを確認します。そうでない場合は、それらを追加し直します。マスター データセットとそのネストされたデータセットを異なる順序で作成してみてください。

これが遅れていることはわかっていますが、お役に立てば幸いです。

于 2009-12-31T01:26:32.153 に答える