Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL-Befehle (https://www.delphipraxis.net/52811-sql-befehle.html)

Guardian 4. Sep 2005 16:47

Datenbank: Paradox • Version: 7 • Zugriff über: SQL

SQL-Befehle
 
Hi Leute^^

Also...ich habe versucht eine Datenbank mit SQL und einer Paradox 7 Tabelle zu benutzen.
Soweit ich das aus Tutorials entziffern konnte, musste ich die Objekte TTable, TDataSource und TQuery einsetzen und im Objektinspektor verbinden...
Dann hab ich folgenden Code versucht...der leider beim Buttonklicken einen Fehler auslöst :(

Delphi-Quellcode:
procedure TForm3.Button1Click(Sender: TObject);
begin
  Query1.close;
  Query1.sql.text := 'INSERT INTO schueler SET Vorname= :ivorname, Nachname= :inachname, Gender= :igender';
  Query1.ParamCheck := True;
  Query1.ParamByName ('ivorname').AsString := Edit1.text;
  Query1.ParamByName ('inachname').AsString := Edit2.text;
  Query1.ParamByName ('igender').Asinteger := 0;
  Query1.Open;
end;
Fehlermeldung:
Im Projekt Perject1.exe ist eine Exception der Klasse EDBEngineError aufgetreten. Meldung: 'Ungültiges Schlüsselwort
Symbol-String: SET
Zeilennimmer: 1'-Prozess wurde angehalten. Einzelne Anweisung oder Start fortsetzen.

Bin echt ratlos^^ Bitte um Hilfe :?: :?:

marabu 4. Sep 2005 16:51

Re: SQL-Befehle
 
Hi Guardian,

herzlich willkommen in der Delphi-PRAXiS.

Im help file LOCALSQL.HLP findest du die Syntax zum INSERT statement:

SQL-Code:
INSERT INTO schueler (vorname, nachname, gender) VALUES (:ivorname, :inachname, :igender)
Grüße vom marabu

generic 5. Sep 2005 09:24

Re: SQL-Befehle
 
"set" wird nur fuer den "update" befehl benötigt.

dfried 5. Sep 2005 09:30

Re: SQL-Befehle
 
Und auf jeden Fall statt Query1.Open -> Query1.ExecSQL verwenden. Open wird nur bei Selects verwendet. Execute SQL bei allen Datenmanipulationsstatements (Insert/Update/Delete).

r_kerber 5. Sep 2005 11:32

Re: SQL-Befehle
 
Moin Guardian,

Zitat:

Zitat von Guardian
Soweit ich das aus Tutorials entziffern konnte, musste ich die Objekte TTable, TDataSource und TQuery einsetzen und im Objektinspektor verbinden...

Nö, entweder TTable oder TQuery. Und ich würde weiterhin eine TDatabase nutzen. Also in der TDatabase die Verbindung zum BDE-Alias (empfohlen d.A.) oder zum Verzeichnis in dem die Tabellen stehen. TQuery mit TDatabase verknüpfen. TDataSource an die TQuery hängen. TDataSource wird auch nur benötigt, wenn das Ergebnis eines Select-Statements in datensensitiven Elementen angezeigt werden soll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 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 by Thomas Breitkreuz