Datensätze anlegen
Dieser Abschnitt beschreibt wie am schnellsten unter Verwendung des Ruthardt-cobra-Frameworks neue Datensätze angelegt werden können.
Der hier genannte Code verwendet Kurzschreibweisen, sodass auch bei einem cobra-Update der Code bestehen bleiben kann.
Ideen
Die Klasse AdoAccess repräsentiert die Datenbank und erlaubt Abfragen auf die Datenbank.
Die Klasse DataAdapterTable repräsentiert eine Tabelle, in die Datensätze eingefügt werden können und die das Zurückspeichern in die Datenbank erlaubt. (Es handelt sich dabei um eine erweiterte System.Data.DataTable)
Die Klasse System.Data.DataRow repräsentiert eine Zeile innerhalb der Datenbank. Auf dieser Ebene müsste mit den wirklichen Datenbanknamen (LogicalNames) gearbeitet werden.
Die Klasse AdoView kann über die DataRow angewendet werden, sodass mit den Oberflächennamen (Userlevel-Names) gearbeitet werden kann.
Skript-Ausschnitt
// Tabelle von der Datenbank abfragen und sicherstellen, dass keine Werte enthalten sind.
// [#TABELLE#] ist eine Schreibweise um hier direkt Oberflächennamen zu verwenden
var belegtable = printContext.AdoAccess.GetAdapterTable("select * from [#Belege#] where 1=2");
// Neue Row anlegen
var belegrow = belegtable.NewRow();
// AdoView über die Row stülpen, sodass mit Userlevelnames gearbeitet werden kann
// Es muss hier nochmals der Tabellenname mitgegeben werden, sodass die Feldauflösung funktioniert
var belegview = new AdoView(belegrow, "Belege", printContext.AdoAccess);
// Werte festlegen
belegview.SetValue("SuperID", 42);
belegview.SetValue("Text", "42");
// Row wieder in die Tabelle stopfen
belegtable.Rows.Add(belegrow);
// Tabelle aktualisieren
belegtable.Update();
Neue Schreibweise ab PRINT+PLUS 6
// Tabelle von der Datenbank abfragen und sicherstellen, dass keine Werte enthalten sind.
// [#TABELLE#] ist eine Schreibweise um hier direkt Oberflächennamen zu verwenden
var belegtable = printContext.AdoAccess.GetEmptyAdapterTable("Belege");
// neue AdoView erzeugen, die direkt an die Tabelle angefügt wurde
var belegview = belegtable.CreateAdoViewWithNewRow(printContext.AdoAccess);
// Werte festlegen
belegview.SetValue("SuperID", 42);
belegview.SetValue("Text", "42");
// Tabelle aktualisieren
belegtable.Update();
Last updated