2012-04-10 7 views
2

Ich habe die folgende AbfrageDatentypenkonflikt in Kriterium-Ausdruck, wenn adoquery.active Ändern

SELECT * 
FROM Project 
WHERE Status = "In Progress" 

, wenn ich starten Sie das Programm erfolgreich alle Projekttitel mit dem Status Listen ‚In Bearbeitung‘ in einem DBlookuplistbox, I hat einen Knopf mit dem Code: aber

adoqCurrentProjects.Active := false; 
adoqCurrentProjects.Active := true; 

adoqCurrentProjects der Name des adoquery ist, wenn ich auf die Schaltfläche klicken die Fehlermeldung ‚Datentypenkonflikt in Kriterium-Ausdruck‘ erscheint. Ich hätte gedacht, dass, wenn ich die Menge der Datensätze in der Projekttabelle mit dem Status "In Bearbeitung" änderte und auf die Schaltfläche klickte, würde es nur die neuen Ergebnisse in der DBlookuplistbox auflisten, wie es tut, wenn ich das Programm neu starte, irgendwelche Vorschläge?

+0

Die Fehlermeldung sein könnte, dass Status- und der Suchwert unterschiedliche Typen sind. Da Ihre Nachricht angibt, dass beide Zeichenfolgen sind, wird die Abfrage möglicherweise zur Laufzeit geändert. Haben Sie Ereignisse, die mit der Komponente "adoqCurrentProjects" verknüpft sind? Scheint so, als ob die Zitate irgendwo entfernt werden ... nur ein Tipp ... –

Antwort

1

Alternative Verfahren zur Aktualisierung ADOQuery zeigt

with adoqCurrentProjects do begin 
close; 
sql.Clear; 
sql.Add('SELECT * FROM Project WHERE Status = '+condition); 
open; 
end; 

// Update DBlookuplistbox