Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Wie neue Datensätze einer DB anfügen?Query oder Table.Insert (https://www.delphipraxis.net/16467-wie-neue-datensaetze-einer-db-anfuegen-query-oder-table-insert.html)

daywalker-dj-k 17. Feb 2004 14:09


Wie neue Datensätze einer DB anfügen?Query oder Table.Insert
 
hallo,
sollte man neue datensätze lieber über table.insert anfügen oder über einen eigens erstellen sql-string, den man dann in eine query packt? gibt es eigentlich methoden, mit denen ich den erfolg der aktualisierung feststellen kann?

danke
gruß
tkliewe

Leuselator 17. Feb 2004 14:22

Re: Wie neue Datensätze einer DB anfügen?Query oder Table.In
 
1. Frage: Nimm TQuery! Weil: Du später leichter die zugrunde liegende DB wechseln kannst. TTable hat IMHO nur eine Daseinsberechtigung bei sogenannten "Desktopdatenbanken". Wenn Du einmal den Umgang mit TQuery gewohnt bist, wirst Du TTable nicht mehr missen.

2. Frage: Kann ich nicht beantworten. Weil: Kommt auf die verwendete DB an...

Gruß

Merkur 17. Feb 2004 14:33

Re: Wie neue Datensätze einer DB anfügen?Query oder Table.In
 
Man kann auch Daten mit TQuery abrufen

MyQuery.Close;
MyQuery.SQL.Clear;
MyQuery.SQL.Add ('Select * from Daten where ...');
MyQuery.Open;

und anschließend einen neuen Datensatz an/einfügen oder den aktuellen editieren

MyQuery.Insert oder MyQuery.Append oder MyQuery.Edit

Über z.B. MyQuery.FieldByName('Feldname').asString kann man die Felder beschreiben.

Gruss
Jürgen

Robert_G 17. Feb 2004 16:41

Re: Wie neue Datensätze einer DB anfügen?Query oder Table.In
 
Zur Frage nach dem Erfolg der Aktualisierung:
Es ist der Code für eine ADOQuery, die Methoden BDE-Version (TQuery) haben fast den gleichen Name -> einfach mal schauen.

Delphi-Quellcode:
  With Query Do
  Begin
    SQL.Text :=
      'UPDATE Tabelle' + #10 +
      ' SET Feld1 = :i_F1' + #10 +
      'WHERE ID = :i_ID';
    Prepared := True;
    Parameters.ParamByName('i_F1'): VAlue := 'Hallo';
    Parameters.ParamByName('i_ID'): VAlue := 1;
    ProcessedRecs := ExecSQL;
  End;

  ShowMessage(IntToStr(ProcessedRecs) + ' records modified/select');


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:56 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