AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO - Allgemeine Frage zum Recordset
Thema durchsuchen
Ansicht
Themen-Optionen

ADO - Allgemeine Frage zum Recordset

Ein Thema von Real-TTX · begonnen am 11. Jul 2009 · letzter Beitrag vom 11. Jul 2009
Antwort Antwort
Real-TTX

Registriert seit: 7. Mai 2008
Ort: Stuttgart / Wertheim
136 Beiträge
 
Delphi 2007 Enterprise
 
#1

ADO - Allgemeine Frage zum Recordset

  Alt 11. Jul 2009, 12:00
Datenbank: Access • Zugriff über: ADO
Hallo,

Ich habe zwei Fragen bezgl. ADO und dessen Recordset...

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?

2. Wenn ich eine aktive Verbindung habe, wie füge ich Datensätze hinzu OHNE SQL wie "INSERT INTO xy..." ?

Gruß, Real-TTX
  Mit Zitat antworten Zitat
Benutzerbild von cherry
cherry

Registriert seit: 14. Nov 2005
561 Beiträge
 
RAD-Studio 2009 Ent
 
#2

Re: ADO - Allgemeine Frage zum Recordset

  Alt 11. Jul 2009, 12:53
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?
Mit der Ergebnismenge kannst du ja eigentlich machen was du willst. Ich verstehe leider nicht genau was du damit erreichen willst.

Zitat von Real-TTX:
2. Wenn ich eine aktive Verbindung habe, wie füge ich Datensätze hinzu OHNE SQL wie "INSERT INTO xy..." ?
Wo willst du die Datensätze hinzufügen? in die Datenbank? in ein DBGrid?
Wenn du eine SQL Datenbank hast, dann kannst du dort (in die Datenbank) nur einzelne Datensätze hinzufügen mit INSERT...
Ist das nur mein Gefühl, oder ist die ganze Welt verrückt geworden!?
  Mit Zitat antworten Zitat
Real-TTX

Registriert seit: 7. Mai 2008
Ort: Stuttgart / Wertheim
136 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: ADO - Allgemeine Frage zum Recordset

  Alt 11. Jul 2009, 13:02
Zitat von cherry:
Mit der Ergebnismenge kannst du ja eigentlich machen was du willst. Ich verstehe leider nicht genau was du damit erreichen willst.
Naja.. Ich meine: Wenn ich dann die Daten innerhalb des Ergebnisses änder. Kann ich die einfach mit .Update wieder hochschicken?

Zitat von cherry:
Wo willst du die Datensätze hinzufügen? in die Datenbank? in ein DBGrid?
Wenn du eine SQL Datenbank hast, dann kannst du dort (in die Datenbank) nur einzelne Datensätze hinzufügen mit INSERT...
Gibt es keine Möglichkeiten um einfach mit .AddNew Daten hinzufügen kann? Also ein AddNew auf meinem QueryObject zb.....

Gruß, Real-TTX
  Mit Zitat antworten Zitat
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
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz