質問

onnewRecordイベントがある養食器を手に入れました。

この手順では、別のテーブルにデータを自動的に追加しようとします。データは、キャンセルの場合に必要ないくつかの行です。クライアントダタセットで処理されます。

locで

otheradoquery.insert;

添えられた肥料がヌルを非ヌルフィールドに挿入できなかったというエラーが発生しました。私は挿入モードですが、Delphiに投稿するように頼んだことはありません!なぜそれが投稿するのかわかりません。

編集:この問題に関するヒントを見つけるのを手伝ってもらえますか?

いくつかの明確化:

adoquery.onnewRecord();

始める

Clienddataset.insert; //ここにAdqueryPostの投稿に行きます。 ClientDatasetが閲覧状態にあった場所

終わり;

編集:

このバグは意味がありません!スタックトレースを見てください:

  • postの前
  • 新記録
  • myfunc

myfuncが挿入物でnewRecordを引き起こします。

役に立ちましたか?

解決 2

答えは、テーブル間の接続からのものでした。

Adquery.DataSourceは、clientDatasetのデータセットに設定されました。

これは非常に多くのダメージを与え、デルファイによるヒントはありません。

他のヒント

私はタドキュリーにあまり精通していませんが、このようなエラーを追跡する方法を知っています。まず、まだ設定していない場合は、プロジェクトオプションに移動して、コンパイルタブの下のデバッグDCUを使用してから、完全なビルドを実行して実行します。デバッガーでその例外レポートを取得したら、Breakをヒットすると、タドキュレーまたはサブオブジェクトの1つのコードの内側になってしまうはずです。コールスタックを調べてみてください。いくつかの電話を調べると、おそらくあなたがしたことを見つけることは、ポストを呼んでいる他の何かを呼ぶことです。コードに到達するまでスタックトレースを返し、何が起こっているのかを知ることができます。少し分析すると、問題を防ぐための何らかの方法が見つかるはずです。

そうは言っても、問題の原因について簡単に推測しましょう:データセットで挿入を呼び出すとき、以前に挿入または追加されたためにデータセットが既にアプリ内モードである場合、投稿をフォローアップしなかった場合、それはあなたが取り組むために新しい行を設定する前に、それ自体を呼び出します。多分これはあなたに何が起こっているのですか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top