2012-04-10 3 views
2

j'ai la requête suivanteincompatibilité de type de données dans l'expression de critères lors du changement adoquery.active

SELECT * 
FROM Project 
WHERE Status = "In Progress" 

quand je lance le programme, il énumère avec succès tous les titres du projet avec le statut « En cours » dans un DBlookuplistbox, je un bouton avec le code:

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

adoqCurrentProjects est le nom du adoquery, mais quand je clique sur le bouton, le message d'erreur « incompatibilité de type de données dans l'expression de critères » apparaît. J'aurais pensé que si je changeais la quantité d'enregistrements dans la table de projet avec le statut "en cours" et cliquait sur le bouton il énumérerait simplement les nouveaux résultats dans DBlookuplistbox comme quand je redémarre le programme, des suggestions?

+0

Le message d'erreur indique que l'état et la valeur de recherche sont différents types. Puisque votre message indique que les deux sont des chaînes, alors peut-être que la requête est en cours de modification à l'exécution quelque part .. avez-vous des événements liés au composant adoqCurrentProjects? On dirait que peut-être les citations sont enlevés quelque part .. juste une supposition .. –

Répondre

1

procédure alternative à la mise à jour ADOQuery pourrait être

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

// Update DBlookuplistbox 
Questions connexes