Frage

bekam eine ADOQuery die OnNewRecord Ereignis hat.

über das Verfahren versuchen i Daten hinzufügen automaticaly an einen anderen Tisch. die Daten sind ein paar Zeilen, die in ClientDataSet im Fall einer Stornierung erforderlich und behandelt werden.

am loc

OtherAdoQuery.insert;

Ich bekomme Fehler, dass ADOQuery zu Einsatz null in ein nicht null Feld fehlgeschlagen. Ich bin im Einfügemodus, aber ich habe nie gefragt, DELPHI zu schreiben! ich nicht, warum es Beiträge finden.

Edit:? Können Sie mir helfen, einen Hinweis auf dieses Problem zu finden

einige weitere Klarstellung:

auf

  

ADOQuery.onNewRecord ();

     

beginnen

     

CliendDataSet.insert; // hier geht für ADOQueryPost zu posten. wo ClientDataSet war im Blättern Staat

     

Ende;

Edit:

Dieser Fehler macht keinen Sinn! Blick auf dem Stack-Trace:

  • Before
  • NewRecord
  • myFunc

wo myFunc verursacht NewRecord mit dem Einfügen.

War es hilfreich?

Lösung 2

war die Antwort von einer Verbindung zwischen den Tischen.

wurde die ADOQuery.dataSource den Datensatz des ClientDataSet gesetzt.

diese mad so viel Schaden, und keine Spur von der delphi.

Andere Tipps

Ich bin nicht allzu vertraut mit TADOQuery, aber ich weiß, wie man einen Fehler wie diese aufzuspüren. Erstens, wenn Sie nicht bereits haben sie festgelegt, gehen Sie in den Projektoptionen und schalten Sie Verwenden Debug DCU unter der Registerkarte Kompilieren, dann eine vollständige Build ausführen und ausführen. Wenn Sie diesen Ausnahmebericht im Debugger erhalten, schlug Pause, und Sie sollten in dem Code für den TADOQuery oder eines seiner Unterobjekte enden. Versuchen Sie, den Call-Stack zu untersuchen. Wenn Sie ein paar Anrufe sehen werden Sie wahrscheinlich etwas finden, dass Sie tat etwas anderes fordert, die Post ruft. Folgen Sie den Stack-Trace zurück, bis Sie Ihren Code erreichen und Sie bekommen eine Vorstellung davon, was los ist, und wenn man es ein wenig analysieren sollten Sie einen Weg finden, um das Problem zu vermeiden.

sagte, dass haben, lassen Sie mich eine schnelle Vermutung über die Ursache des Problems zu machen: Wenn Sie Insert auf einem Datensatz aufrufen, wenn der Datensatz bereits in Anhängen-Modus ist, weil Sie vorher Einfügen oder Anfügen genannt und folgte nicht nach oben mit einem Post, wird es selbst nennt Beitrag vor eine neue Zeile Einrichtung für Sie zu arbeiten. Vielleicht ist das, was dir passiert?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top