Rubrik: Datenbanken · ADO | VB-Versionen: VB5, VB6 | 14.10.04 |
Datensätze hinzufügen/aktualisieren - in Kurzform (ADO) Eine eher unbekannte Methode: Datenübergabe direkt beim Aufruf der AddNew-Methode des ADO-Recordset-Objekts | ||
Autor: Dieter Otter | Bewertung: | Views: 20.788 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Wer mit einem ADO-Recordset arbeitet und eine Datenzeile hinzufügen möchte, geht meist wie folgt vor:
oRs.AddNew oRs.Fields("Anrede") = "Herrn" oRs.Fields("Name") = "Otter" oRs.Fields("Vorname") = "Dieter" oRs.Fields("GebDatum") = #5/5/73# oRs.Fields("Info") = True oRs.Update
Eine eher unbekannte Möglichkeit ist die Übergabe der Daten direkt als Array-Liste, was bei vielen Datenfeldern jede Menge Codezeilen spart! Hierbei müssen beim Aufruf der AddNew-Methode zunächst die Feldnamen (als Array-Liste) und anschließend die Feldwerte (wiederum als Array-Liste) übergeben werden.
' neue Datenzeile hinzufügen oRs.AddNew Array("Anrede", "Name", "Vorname", "GebDatum", "Info"), _ Array("Herrn", "Otter", "Dieter", #5/5/73#, True) oRs.Update
Analog zum Hinzufügen von neuen Datenzeilen lässt sich der Code zum Ändern von bestehenden Datenzeilen ebenfalls in eine Kurzform bringen.
Statt bisher:
oRs.Fields("Name") = "Otter" oRs.Fields("Vorname") = "Dieter" oRs.Fields("Info") = False oRs.Update
funktioniert auch folgender Code:
' Datensatz ändern oRs.Update Array("Name", "Vorname", "Info"), Array("Otter", "Dieter", False)
Soll nur ein einziger Feldwert aktualisiert werden, braucht man nicht explizit ein Array übergeben:
' einzelnen Feldwert ändern oRs.Update "Info", False