![]() |
AW: ADOConnection
Delphi-Quellcode:
1. Keine globalen Variablen! (DBNAME) :warn:
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; 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; |
AW: ADOConnection
Zitat:
(ich weiß das das Kurzsichtig ist, aber der Chef ist der Chef und der kennt sich aus weil er xxxx liest) Gruß K-H |
AW: ADOConnection
Zitat:
|
AW: ADOConnection
Hmm..
Wenn Du eine einfache interne Datenbank benötigst und auf den Clients nichts installieren willst... Es nur um die überschaubaren Datenmenge geht... Schau mal zum MS-SQL-Server Express.. Einfach zu installieren, auf diesem Windows PC/Server nur 2 Ports zu öffnen und einen Dienst (Browser) zu aktivieren.. Keine Lizenzkosten.. Hier werden keine Treiber oder ODBCs unter Windows benötig, diese sind per se schon installiert. Wenn Du keine besonderen Funktionen des Datenbankservers benötigst, dann genügt der 'alte' SQLOLEDB Provider.. Einfach per ADO ansprechbar... (Nur so eine Idee.. ;) ) |
AW: ADOConnection
Zitat:
Zitat:
Nachher muss so oder so individuell die Datenbank/die Tabelle gewählt werden. |
AW: ADOConnection
Zitat:
Anders ausgedrückt: Soll die Abfrage eine Ergebnismenge enthalten...Open. Alles andere ExecSQL. :zwinker:
Delphi-Quellcode:
FDQuery.SQL.Text := 'SELECT * FROM ' + DBNAME;
FDQuery.Open; |
AW: ADOConnection
Danke @ haentschman (und natürlich auch an HolgerX und die anderen). Hab es nun für alles soweit hinbekommen (auch mit den Parametern etc.).
Sowas "einfaches wie das mit dem "open" hätte ich gerne selber gefunden :? Das mit dem Open geht auch in einer Zeile:
Code:
Macht das was wenn vorher im SQL.Text was drin stand oder wird dieser dabei dann ignoriert/gelöscht?
FDQuery.Open('SELECT * FROM ' + DBNAME);
|
AW: ADOConnection
|
AW: ADOConnection
Parameter deshalb, da ich Gerätedaten übergeben werde, wo die Spalte und die Datenbank gleich bleibt, der Parameter (z.B. Seriennummer) sich aber ändert.
Daher ist es schöner einfach den Parameter zu ändern mit grundsätzlich dem gleichen Query. Zudem lässt sich daraus, denke ich, zusätzlich auch besser eine eigene Funktion dafür bauen. |
AW: ADOConnection
Ich glaube ihr redet aneinander vorbei.
Wenn Moombas Parameter freiwillig einsetzt, braucht man ihn nicht mehr zu überzeugen und er muss sich natürlich auch nicht dafür "rechtfertigen", sie einzusetzen. Parameter sind der richtige Ansatz! Leider haben sie auch manchmal ihre Grenzen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz