Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi AdoCommand: Delete-Statement mit Parametern (https://www.delphipraxis.net/106415-adocommand-delete-statement-mit-parametern.html)

HeikoAdams 10. Jan 2008 14:05

Datenbank: SQL Server • Version: 2000 • Zugriff über: ADO

AdoCommand: Delete-Statement mit Parametern
 
Hallo,
ich versuche, über folgendes SQL-Statement Daten aus einer Datenbank zu löschen
SQL-Code:
DELETE FROM KundenDubletten WHERE column12 = :pWert
Der Delphi-Code, um den Parameter zu füllen und das Statement auszuführen ist folgender:
Delphi-Quellcode:
with DelCmd do
begin
  CommandText := 'DELETE FROM KundenDubletten WHERE column12 = :pWert';

  with Parameters do
  begin
    Clear;
    CreateParameter('pWert', ftString, pdInput, MAX_PATH, QuotedStr(Codes.Strings[Count]));
    ParamValues['pWert'] := Trim(QuotedStr(Codes.Strings[Count]));
  end;

  try
    Execute;
  except
    on e:Exception do ShowMessage(e.Message);
  end;
end;
Allerdings scheint es, als ob das TAdoCommand bei Delete Anweisungen keine Parameter unterstützt, da keine Daten gelöscht werden oder mache ich einfach nur etwas falsch?

Bernhard Geyer 10. Jan 2008 14:08

Re: AdoCommand: Delete-Statement mit Parametern
 
[gelöscht da durch ergänzten Posttext unnötig geworde]

shmia 10. Jan 2008 16:50

Re: AdoCommand: Delete-Statement mit Parametern
 
Wenn du String-Parameter verwendet, braucht man (darf man) die Daten nicht mit QuotedStr() verpacken !
Man beachte auch das verbesserte Exception-Handling.
Delphi-Quellcode:
with DelCmd do
begin
  CommandText := 'DELETE FROM KundenDubletten WHERE column12 = :pWert';
  with Parameters do
  begin
    ParamValues['pWert'] := Trim(Codes.Strings[Count]);
  end;

  try
    Execute;
  except
    on e:Exception do
    begin
       e.Message := 'Fehler beim Löschen von Dubletten'#13#10 + CommandText + #13#10+
          e.Message;
       raise;
    end;
  end;
end;


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