Conversion pour une requête

Résolu
nou366 Messages postés 92 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 10 octobre 2010 - 6 mars 2006 à 18:13
nou366 Messages postés 92 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 10 octobre 2010 - 7 mars 2006 à 18:19
Bonjour,





J'utilise une requête sur un champ texte (Code) qui est composé de chiffres et de lettres


Exemple: NVE341





La requête est celle-ci





adoQuery1.SQL.Add('select * From Article where');
adoQuery1.SQL.Add(''+combobox8.Text);
adoQuery1.SQL.Add('LIKE'+quotedstr('%'+(edit7.text)+'%'));





ca marche bien, si je rentre que des lettres.


Ca marche bien, si je rentre un chiffre qui se trouve dans un code; Exemple pour le code NVE341, si je rentre 3,4,34 ou 341, il y ' apas de problemes


C'est des que je rentre un chiffre qui n'existe pas dans la code qu'il m'affiche "Invalid Conversion".





Quelqu'un aurait-il une solution ?

2 réponses

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
6 mars 2006 à 23:31
alors deja, on essaye d'injecter la requette en une seule fois. cela evite les problemes :

var Req : string;
begin
Req := 'SELECT * FROM Article WHERE '+Combobox8.text+' LIKE '+QuotedStr('%'+edit7.text+'%')+' ;';
adoQuery.SQL.Add(Req);
end;

pour le retour, c'est que si il ne trouve pas de champs correct, il ne renvois rien et donc probleme de conversion.
donc tu dois mettre un control sur le retour, par exemple :

if retour <> '' then AfficherRetour
else showmessage('aucun resultat trouvé');

<hr size="2" width="100%">La theorie c'est quand on sait tout, mais que rien ne fonctionne.
La pratique c'est quand tout fonctionne, mais que personne ne sait pourquoi.
<hr>
3
nou366 Messages postés 92 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 10 octobre 2010
7 mars 2006 à 18:19
Salut f0xi,

ca marche super bien...un grand merci pour la réponse

a++
0
Rejoignez-nous