Simple SQL-Abfrage / Keine Übereinstimmung der Typen im Ausdruck



  • Hallo!

    Ich häng mal wieder an einer absolut simplen SQL-Abfrage. Ich habe zwei Tabellen und möchte per SQL Abfrage Einträge aus Query2 suchen. Leider kommt immer die Fehlermeldung "Keine Übereinstimmung der Typen im Ausdruck".

    Mein Code sieht so aus:

    int kunde = Query1->FieldByName("nummer")->AsInteger;
      Query2->SQL->Clear();
      Query2->SQL->Add("SELECT * FROM LFILIALECLI");
      Query2->SQL->Add("  WHERE (ID = 'kunde')");
      Query2->SQL->Add("       ORDER BY clinr");
      Query2->Open();
    

    Kann mir da jemand helfen?

    Schöne Grüße

    Maik



  • Query2->SQL->Add("  WHERE (ID = 'kunde')");
    

    Die Zeile ist falsch. Erklär mir mal, was da passieren soll. Vermutlich fällt Dir dann auch das Problem auf.



  • ....das Problem ist, ich weiß nicht genau wie ich normalen Text von Variablen trennen kann. Mir ist schon klar, dass es so nicht funktioniert.

    Aber mit welchen Zeichen mache ich klar, dass es sich um eine Variable und nicht um Text handelt?

    Er soll ja ID mit dem Inhalt von Kunde vergleichen und nicht ID mit Kunde, dass funktioniert nicht.



  • Query2->SQL->Add("  WHERE (ID = " + AnsiString(kunde) + ")");
    


  • Jetzt hats funktioniert.

    Du hast mir sehr geholfen.

    Vielen Dank und schönen Tag noch.

    Maik


Anmelden zum Antworten