Schreibweise für Where Klausel bei ADOQuery?
-
Für SQL-Strings sind einfache Anführungsstriche vorgesehen:
WHERE Name LIKE 'Hans%'
-
Danke für euere Vorschläge.
Beim letzten Vorschlag kam zur Abwechslung mal ein Cast Error.
Mir scheint die Fehlermeldung kommt aus der Accessdatenbank über ADOQuery zurück. In Access selbst funktioniert die SQL so gut. Es ist eine einfach INNER JOIN mit 2 Tabellen und dem Problem bei Where mit TextFeldern.
Weiß keiner nix????
-
Meine Erfahrungen waren, dass INNER JOINS nicht funktionieren ... warum weiß ich auch nicht
-
Hallo MichelM,
inzwischen hab ich in meiner Not auch ne SQL mit einer einfachen Tabelle probiert. Aber ich hab das Problem immernoch.
Sorry.
-
Schick ma den SQL-Text ...
-
hast du mal versucht was passiert wenn du ParamCheck auf false setzt?
außerdem kannst du auch mal schaun wie das Query zur Laufzeit aussieht nachdem du den SQl-Befehl zugewiesen hast
String test = ADOQuery->SQL->Text;
damit kannst du Fehler im SQL-Kommando finden
du solltest Parameter verwenden statt die Werte direkt ins Query einzutragen, dazu gibts einige Beispiele hier im Forum -> ParamByName
-
Danke Linnea,
Parametercheck und auch Prepared bewirken nichts ( Ich habs versucht ). Syntaxfehler hab ich schon auf viele Arten gesucht. Ich steh echt aufm Schlauch.
-
SQL-Text und genaue Fehlermeldung wär mal gut!
-
Nochn Versuch..
Fehlertext:
Im Projekt Album.exe ist eine Exception der Klasse EOleException mit der Meldung '[Microsoft][ODBC Microsoft
Access Driver] 1 Parameter wurden erwartet, aber es wurden zu wenig Parameter übergeben' aufgetreten.SQL:
SELECT Album.* FROM Album WHERE ((Album.Name)Like "A*");
Oder
SELECT Album.* FROM Album WHERE ((Album.Name) = "ABC");
-
SELECT * FROM Album WHERE Name LIKE 'A%';
Oder
SELECT * FROM Album WHERE Name='ABC';
Und verwende für den Zugriff auf die Accessdatenbank den Microsoft.Jet.OLEDB Provider im ConnectionString
-
Hallo VergissEs,
ich vergess Dir das nicht! Es hat geholfen!
Jetzt muß ich, da ich die SQLs aus Access rüberhole, die Schreibweise nur noch von "A*" nach 'A%' automatisiert ändern. Warum die Schreibweisen unterschiedlich sind, ist mir schleierhaft.
Liebe Grüße
Rudi