[C++Builder] Ungültige Feldgröße bei DB-Zugriff



  • Hallo zusammen,

    ich habe mal wieder ein kleines Problem mit meiner MySQL-DB.

    Ich führe ein sql-statement mit einer ADOQuery-Komponente aus.

    SQL-Statement:

    "SELECT * FROM zerf2000_daten z "
    "WHERE z.datum = '" +m_asDatum+ "' "
    "AND z.personalnummer = '" +m_asPersonalnummer+ "'";
    

    Den gleichen Befehl führe ich bei einer anderen Tabelle auch aus und da klappt es, doch wenn ich diesen Befehl hier ausführen möchte dann schmeißt der Compiler mir eine Exception

    EDatabaseError: Ungültige Feldgröße!

    Liegt das jetzt an der ADOQuery, an dem SQL, oder an der Datenbank selbst??

    Die tabelle ist leer. Es sind keine Werte darin enthalten. Kann es daran liegen?
    Doch bei der anderen Tabelle geht es auch, obwohl ich denn selben aufbau der Befehle nehme!? 😕

    Kann mir jemand da weiterhelfen?

    Vielen Dank
    Gruß



  • Ich bin mir nicht ganz sicher, aber eventuell fehlt dort ein "AS" in der ersten Zeile:

    SELECT * FROM zerf2000_daten [b]AS[/b] z
    WHERE z.datum = '[i]Datum[/i]'
    AND z.personalnummer = '[i]Personalnummer[/i]'
    


  • Danke schon mal für die Antwort!

    Also das AS ist hier nicht notwendig, aber ich habe glaub ich den Fehler entdeckt. Ich habe meine Tabelle nicht richtig definiert gehabt.

    "datum" ist mein PK und "personalnummer" mein FK; In meiner Definition habe ich nur für den PK -> NOT NULL gesetzt und den FK einfach so gelassen. Doch jetzt habe ich auch bei ihm NOT NULL gesetzt und es scheint zu gehen.

    Hoffe mal das war der Fehler!


Anmelden zum Antworten