Frage zum TQuery



  • Morgen!
    Soweit ich das verstanden habe, kann man hier mit SQL Anweisungen unter dem Menüpunkt SQL im Objektinspektor arbeiten.

    Verstehe ich das richtig, dass hier SQL Syntax verwndet werden muss ausschliesslich undd eine Variablen Deklaration wie ==> int werte;
    deshalb nicht funzt???

    Vielen Dank 😕



  • Innerhalb einer SQL-Anweisung kannst Du selbstverständlich nur und ausschließlich SQL-Befehle verwenden. Bei TQuery wird diese SQL-Anweisung in die Eigenschaft SQL (vom Typ TStrings) geschrieben. Ich weiß allerdings nicht, was Du da mit int anstellen willst... Da gehört z.B. ein Select-Statement rein:

    SELECT
    *
    FROM Tabellenname
    

    Wenn Du eine Tabelle erstellen willst, schau Dir die Syntax von CREATE TABLE an.

    Vielleicht solltest Du dich auch gleich von TQuery und der BDE trennen und auf etwas aktuelleres umsteigen ADO oder dbExpress zum Beispiel. Je nachdem, mit welcher Datenbank Du arbeitest gibt es native Komponenten für den Zugriff.



  • Danke schon mal.

    Ich möchte werte aus einem Textfeld im Form ziehen und in einen int casten.
    Diese Werte sollen dann per SQL in eine Datenbank-Tabelle eingetragen werden.



  • Dann brauchst Du eine Update-Anweisung. Oder Du setzt die Query in den RequestLive-Modus und kannst mit Append() Datensätze anhängen, oder mit Edit() ändern. Allerdings finde ich, sind direkte Update-Statements effektiver, insbesondere, wenn es um Datenbanken im Multi-User-Betrieb geht.
    Den Wert solltest Du selbst wandeln, um bei Fehleingaben den Benutzer zu einer Korrektur auffordern zu können. Dafür gibt es die AnsiString-Methoden ToInt() oder ToIntDef(). Schau mal in die Hilfe zu AnsiString. Hier in den FAQ gibt es auch eine eigene Rubrik für AnsiStrings.


Anmelden zum Antworten