Thema: Delphi ADOConnection

Einzelnen Beitrag anzeigen

Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#15

AW: ADOConnection

  Alt 14. Aug 2019, 10:19
Delphi-Quellcode:
procedure DeleteClick(Sender: TObject);
var
  sQuery : string;
begin
  sQuery := 'DELETE FROM ' + DBNAME + ' WHERE seriennummer = 0000000000000000';

  FDQuery.SQL.Clear;
  FDQuery.SQL.Add(sQuery);
  FDQuery.SQL.Add('SELECT * FROM ' + DBNAME);
  FDQuery.Active := True;
  SetGridColumnWidths(DBGrid);
end;
1. Keine globalen Variablen! (DBNAME)
2. Entweder Select oder Delete in der Query
3. Select mit Open
4. Delete mit ExecSQL
5. Parameter verwenden

Delphi-Quellcode:
procedure DeleteClick(Sender: TObject);
var
  sQuery : string;
begin
  sQuery := 'DELETE FROM ' + DBNAME + ' WHERE seriennummer = :SER';

  FDQuery.SQL.Text(sQuery);
  FDQuery.ParamByName('SER').AsString := '000000000';
  FDQuery.ExecSQL;
  SetGridColumnWidths(DBGrid);
end;
Edit: Fehlermeldung erhalte ich nur, wenn ich folgenden Code verwende:
Zitat:
FDQuery.SQL.Text := 'SELECT * FROM ' + DBNAME;
FDQuery.ExecSQL; //->Fehlermeldung
// FDQuery.Active := True; //funktioniert
Global (const) ist es aktuell nur, weil ich am testen bin und nicht immer die den test-DBNamen eingeben wollte ^^
Nachher muss so oder so individuell die Datenbank/die Tabelle gewählt werden.
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.

Geändert von Moombas (14. Aug 2019 um 11:06 Uhr)
  Mit Zitat antworten Zitat