Ich habe (eine andere) Frage über das Schreiben von OleDbCommand's. Ich habe einen komplexen Auswahlbefehl (enthält mehrere linke Joins) und OleDbCommandBuilder kann keine Aktualisierungsbefehle für mich generieren.Benutzerdefinierte Schreiben OleDbCommand Befehle
Ich kann nicht scheinen, die Magie hinter dem Schreiben von Update-Befehlen zu begreifen. Ich kenne die Struktur der SQL-Update-Anweisung, aber ich bin etwas verwirrt darüber, wie dies mit OleDbDataAdapter funktioniert. Ich weiß, dass, wenn ich adapter.Update() aufrufe, es nur die notwendigen Reihen von DataTable auffrischen wird, jedoch weiß ich nicht, wie man einen Aktualisierungsbefehl schreibt, also kann er wissen, welches Feld in welche Tabelle benötigt, die aktualisiert werden muss.
Ich würde mich sehr freuen, wenn mir jemand den Prozess erklären und mir in die richtige Richtung zeigen könnte.
bearbeiten: Da niemand zu beantworten ist, werde ich einige weitere Details in Bezug auf meine Frage schreiben:
Ich habe eine select-Anweisung in dieser Form:
select field1, field2, fieldn from table1 left join table2 on condition left join table3 on condition where condition1 and condition2
man mir rätselhaft ist, wie soll ich eine Update-Anweisung zu schreiben, da ich es so nicht schreiben kann:
update table1, table2 set field1 = newvalue where condition1 and condition2
So verstehe ich nicht, wie dies zu tun, da die update-Anweisung nur ein Tabellenargument akzeptiert. Ist es überhaupt möglich, die OleDbDataAdapter.Update-Methode für diese Art von DataTables aufzurufen?
Nun, das ist definitiv hilfreich, aber es gibt immer noch ein Problem. DataRow enthält Spalten aus verschiedenen Tabellen und jede von ihnen könnte geändert werden - und es ist mir immer noch unklar, wie ich einen Update-Befehl schreiben könnte, der eines dieser Felder modifizieren könnte. –
Ich bin mir ziemlich sicher, dass Sie eine Update-Anweisung für jede der Tabelle dann ausgeben müssen ... –
Check-out INSTEAD von Triggern, dass vielleicht, was Sie suchen –