Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL:INSERT INTO fügt doppeltsoviele Datensätze an (https://www.delphipraxis.net/11975-sql-insert-into-fuegt-doppeltsoviele-datensaetze.html)

Biohazard 18. Nov 2003 08:48


SQL:INSERT INTO fügt doppeltsoviele Datensätze an
 
Hallo,

ich habe folgendes Problem. Wenn ich diese Anweisung ausführe, sollen alle Datensätze mit einer bestimmten Auftragsnr. von der Tabelle Proben in die Tabelle probencopy kopiert werden.
Das macht er ja auch. Komischerweise fügt er aber die doppelte Anzahl an Datensätzen ein (Dieselben nochmal).

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
tab_copy.Sql.Text :='INSERT INTO probencopy (Auftrags_Nr, Firmen_Nr, Eingangs_Datum,Probennr ) SELECT Auftrags_Nr, Firmen_Nr, Eingangs_Datum, Probennr FROM proben WHERE Auftrags_Nr = 4430';

tab_copy.Active := true;
end;
Hat dafür vieleicht jemand eine Erklärung. Ich komm nicht dahinter was das soll.

Mario 18. Nov 2003 08:55

Re: SQL:INSERT INTO fügt doppeltsoviele Datensätze an
 
Gibt es vielleicht eine Methode wie ExecSQL, die Du aufrufen kannst (statt Active auf True setzen)?

Biohazard 18. Nov 2003 09:09

Re: SQL:INSERT INTO fügt doppeltsoviele Datensätze an
 
Ja die gibt es und damit funktioniert es auch. Danke.
Was ist eigentlich der unterschied zu open oder active?

MrSpock 18. Nov 2003 10:00

Re: SQL:INSERT INTO fügt doppeltsoviele Datensätze an
 
Hallo Biohazard,

open (oder active=true) wird nur bei Abfragen verwendet, die eine Datenmenge zurückgeben. Alle anderen verwenden ExecSQL.

Biohazard 18. Nov 2003 10:33

Re: SQL:INSERT INTO fügt doppeltsoviele Datensätze an
 
Ok. Vielen dank für die schnelle Hilfe. Bin ich wieder ein wenig schlauer geworden. :thuimb:


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