Announcement

Collapse
No announcement yet.

Datenfeldern vor APPEND Daten zuweisen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datenfeldern vor APPEND Daten zuweisen

    Hallo Spezialisten!<BR>
    Der APPEND fügt ja bekanntlich einen leeren Datensatz an eine DB an.<BR>
    Sind in der DB aber Felder als ERFORDERLICH deklariert bekomme ich eine Fehlermeldung, das eben diese Felder leer sind.<BR>
    Ich benutze eine Kombination von TQuery mit TUpdateSql und weise die Daten durch AferInsert, AfterPost und BeforeDelete der DB zu.<BR>

    Wie kann man den DB-Feldern aber vor einem APPEND Daten zuweisen?<BR>
    Danke für Hilfe.<BR>
    Gruß Gunnar

  • #2
    Hallo,

    &gt;Ich benutze eine Kombination von TQuery mit TUpdateSql ...

    irgendwie passt das alles nicht zusammen. Wenn der Cached Update-Modus genutzt wird, schreibt das Programm die Daten doch erst nach dem Aufruf von <b>ApplyUpdates</b> in die Datenbank zurück. Zu diesem Zeitpunkt müssen allerdings die Spaltenwerte bereits korrekt gesetzt sein. Normalweise greift man in diesem Umfeld auf das Ereignis <b>OnNewRecord</b> zurück - aber nicht auf <b>AfterInsert</b>, um Daten zuzuweisen.

    &gt;..bekomme ich eine Fehlermeldung, das eben diese Felder leer sind..

    Da im Cached Update-Modus zu diesem Zeitpunkt noch kein Zugriff auf die Datenbank erfolgt, muss dieses Veto von den TField-Instanzen (siehe deren Eigenschaften im Objektinspektor) kommen. Dieses Verhalten ändert sich erst dann, wenn die Daten <b>nicht</b> erst in den After-Ereignisbehandlungsmethoden gesetzt werden, sondern bereits früher

    Comment


    • #3
      Hallo Andreas und alle Anderen.<BR>
      Habe die Metode aus:<BR>
      <a href="/webx?13@@.ee8a802/0">Matthias Fichte "Query und TTable" 19.02.2002 12:39</a>
      <BR>
      Hier nochmal ein paar Details:<BR>
      Habe eine schreibgeschützte Ergebnismenge einer SQL-Abfrage über mehrere DB, die modifiziert werden soll. An die Query kann nur EINE UpdateSQL-Komponente gebunden werden. Für jede Tabelle muß aber zum Rückschreiben eine separate UpdateSQL-Komponente existieren. Somit wird bei einem Insert/Post/Delete jeweiles das After/Before-Ereignis so modifiziert, das alle UpdateSQL nacheinander auf alle DB greifen.<BR>
      Kann man das auch anders/besser lösen?<BR>
      Bin an Tips dringend interessiert.<BR>
      <BR>
      Gruß Gunna

      Comment

      Working...
      X