Announcement

Collapse
No announcement yet.

Fehler bei einem aus mehreren Schritten bestehenden Vorgang.

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

  • Fehler bei einem aus mehreren Schritten bestehenden Vorgang.

    Hallo,<br>
    beim speichern eines Datensatzen (ADODataSet1.Post) kommte die Meldung:<br>
    Fehler bei einem aus mehreren Schritten bestehenden Vorgang. Prüfen Sie die einzelnen Statuswerte.<br><br>
    Folgender SQL liegt vor: <br>
    <pre>
    select bestattung.eind_Num, bestattung.stelle_Num, bestattung.bestattart_kennz,bestattung.bestatt_Num ,
    bestattung.belnr, bestattung.bestatter_num, bestattung.pfarrer,verstorb.verst_name,verstorb.ve rst_vorn,verstorb.titel,bestattung.bestatt_zeit,
    verstorb.verst_Gebnam, verstorb.geb_ort, verstorb.konfessions_kennz, verstorb.sterbe_ort,
    verstorb.verst_gebdat,verstorb.sterbe_dat, bestattung.bestatt_dat, verstorb.ruhe_zeit,
    verstorb.ruhe_bis,verstorb.lwohn_ort,verstorb.lwoh n_str_nam,verstorb.lwohn_str_num,verstorb.lwohn_pl z,personen.anrede_id,
    personen.titel_id, personen.name,personen.vorname,
    personen.gebname, personen.str_nam, personen.str_num, personen.plz, personen.ort,
    personen.telefon, bestattung.veranl_id,grabstelle.bezeichnung as stelle, verstorb.sarg ,
    'F' as adr_neu, 'F' as veranlstate, 0 as Person
    from bestattung, verstorb, personen,grabstelle
    where bestattung.grabident_kennz = :eind_Num
    and verstorb.eind_num = bestattung.bestatt_Num
    and personen.eind_Num = bestattung.veranl_id
    and grabstelle.eind_Num = bestattung.stelle_Num
    and bestattung.del <> 'T'</pre><br><br>

    Das selbe tritt auch auf, wenn ich einen anderen DataSet filtere und speichern möchte.<br>Woran kann das liegen bzw. wie kann ich das beheben?
    <br>
    Gruß,<br>
    Christian<br
    <br>
    PS: Und ich dachte, ich hätte das mit ADO soweit begriffen, aber man lernt nie aus.

  • #2
    Hallo,

    &gt;..Woran kann das liegen...?

    TADODataSet reicht den Job direkt an das Recordset-Objekt von ADO weiter. Das Recordset-Objekt untersucht die Änderungen an der gespeicherten Ergebnismenge und generiert daraus automatisch INSERT-, UPDATE- und DELETE-Anweisungen. Dies ist jedoch nur dann erfolgreich, wenn die Änderungen eindeutig auf alle (!) an der Ergebnismenge beteiligten Tabellen aufgeteilt werden können.

    &gt;..Fehler bei einem aus mehreren Schritten bestehenden Vorgang..

    Diese Fehlermeldung besagt, dass das Recordset <b>mehrere</b> SQL-Anweisungen abschickt und somit mehrere Tabellen ändern will. Falls mit dem <i>Microsoft SQL Server</i> gearbeitet wird, zeigt dort das Tool <i>Profiler</i> die von ADO automatisch generierten SQLs an.

    Im Gegensatz zu ADO.NET stellt ADO (Recordset-Objekt) leider keinen Weg zur Verfügung (mit Ausnahme von UNIQUE TABLE), wie man die automatisch generierten SQLs im eigenen Programm beeinflussen kann

    Comment


    • #3
      Hallo,<br>
      <i>...Falls mit dem Microsoft SQL Server gearbeitet wird...</i><br>
      es wird<br>
      <i>...zeigt dort das Tool Profiler die von ADO automatisch generierten SQLs an...</i><br>
      leider nicht. Liegt es evtl. an irgendwelchen Einstellungen?<br>
      <br>
      Gibt es eine Möglichkeit das Problem zu beheben? Ich habe schon per SQL-Abfrage im Enterprise Manager den SQL ausgeführt, und dort gibt es keine Probleme, wenn ich Datensätze hinzufüge bzw. ändere.<br>
      <br>
      Gruß,<br>
      Christia

      Comment


      • #4
        Hallo,<br>
        hab das Problem gefunden. Es ist in den per SQL erzeugten Felder zu finden. sobald diese entfernt sind, klappts auch mit dem Nachbarn.
        <br>
        Gruß,<br>
        Christia

        Comment

        Working...
        X