Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#4

Re: ADO - Allgemeine Frage zum Recordset

  Alt 11. Jul 2009, 13:32
Zitat von Real-TTX:
1. Gibt es eine Möglichkeit eine Ergebnismenge (die mit Select abgefragt worden ist) zu ändern ? Ich bekomme eine Menge und diese ändere ich und schicke sie anschließend wieder an die Datenbank zurück?
Delphi-Quellcode:
AdoQuery1.SQL.Text := 'SELECT * FROM Tabelle';
AdoQuery1.Open;
// bestimmten Datensatz suchen (Locate ist langsam, aber ich will nur zeigen, dass man bel. Datensätze ändern kann)
if not AdoQuery1.Locate('Artikel', 'Windows Vista', []) then raise Exception.Create('Artikel nicht gef.');
AdoQuery1.Edit; // Änderungsmodus
// Feldinhalte ändern
AdoQuery1['Preis'] := AdoQuery1['Preis'] * 1.25;
AdoQuery1['LastChange'] := Now;
AdoQuery1.Post; // abspeichern
Zitat von Real-TTX:
2. Wenn ich eine aktive Verbindung habe, wie füge ich Datensätze hinzu OHNE SQL wie "INSERT INTO xy..." ?
Genau gleich wie oben, nur statt .Edit verwendest du .Append und musst natürlich alle Felder (die NOT NULL sind) bestücken.
Datensätze über das Dataset einzufügen ist etwas langsamer als direkt über INSERT INTO aber oftmals
spielt das keine Rolle und ist deutlich angenehmer, als die INSERTS selbst zu erzeugen.
fork me on Github
  Mit Zitat antworten Zitat