Chercher un enregistremnt en utilisant une requete sql [Résolu]

Signaler
Messages postés
63
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
4 mai 2011
-
Messages postés
63
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
4 mai 2011
-
bonjour;
je suis débutante en vb.net et j'ai un problème pour afficher un enregistremnt en utilisant juste la requete sql
"select * from acteur where actcod="'" & textbox1.text & "'"
 dans mon code j'utilise
da.fill(ds,"acteur")
dtable=ds.tables("acteur")

cela me génère une exception disnat: "type de données incompatible dans l'expression du critère"

sachant que si je met ça:
"select * from acteur where actcod=1 "

cela me donne le bon résulat. dons où est l'erreur???????

20 réponses

Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Bonjour,
et voilà ce qui arrive quand on ne lit pas le journal...!
ne serait-ce que de la veille

si ton actcod est numérique
>Entier
"select * from acteur where actcod=" & CInt(textbox1.text)
>Long
"select * from acteur where actcod=" & CLng(textbox1.text)
Messages postés
63
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
4 mai 2011

bonjouuur;
déslée pour ce retard! mais la requete n'avait rien de faut, j'ai revu le code. le problème c'est que j'ai utilisé le code dans une procédure événementielle inadéaquate!!
parfois ce sont les petites choses qui bloquent!
Messages postés
63
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
4 mai 2011

j'ai un fait un test pareil mais cela ne donne pas résulat:j'ai mis

dim s as integer=cint(textbox1.text)
puis dans la requete sql:
"select * from acteur where actcod=" & s

mais dans ce cas cela ne génère pas une erreur mais il donne rien!!! si comme si il ne trouve pa d'enregistrement correspondant à ce critère.
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
et t' as vérifié que le numéro entré dans
la textbox éxiste réellement ?
Tu utilises ADO ou  DAO ?
Messages postés
63
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
4 mai 2011

oui il existe, j'ai saisi le code 1 mais cela ne donne rien. pourtant il me donne le bon résulat si je le passe directement en critère de recherche.
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
et avec:
dim s as integer=1
puis dans la requete sql:
"select * from acteur where actcod=" & s
Messages postés
63
Date d'inscription
mercredi 18 mai 2005
Statut
Membre
Dernière intervention
4 mai 2011

je vais tester. mais là c'est un cas particulier.

je vais revoir le code.

merci et bonne journée.
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut Chaibat05,

Il manque pas un fin à la requête ?

et avec:
dim s as integer=1
puis dans la requete sql:
"select * from acteur where actcod= " & s &""

A+
Exploreur

 
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Salut Exploreur,
Pas forcément...!
A la rigueur &";"
Moi j pencherais vers le Type de Donnée (Long au lieu d Entier...
Attendons la suite...

A++
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Oki....

A+
Exploreur

 
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Chaibat05, comme dans la pub connue: Mais un jour j'y arriverai, j'y arriverai....de toutes les matières c'est la REQUETE que je préfère...

A+
Exploreur

 
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
on l' aura un jour , on l' aura...!
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Excuser moi mais il me semble que le requete que vous proposez ne va pas :

"select * from acteur where actcod='" & CInt(textbox1.text) & "'"

il me semble que dans la clause Where les '   '  sont indispensables non ??
Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut Nicko11,

Sauf erreur de ma part, il y a une différence quand tu mets une variable dans la clause where et un champ texte....Me semble...

A+
Exploreur

 
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Tu veux dire que le faire d'utiliser CInt() change la clause, c'est ca ?
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Salut Nico,
les ' ' sont indispensables dans 2 cas :
1° le champ est de Type String
2° Le critère est inclus dans l' expression et donc connu d' avance
Exemple:
"select * from acteur where MonNom='Nico'"

Quand il s' agit d' un paramètre , il est placé en dehors de l' expression
"select * from acteur where MonNom='" & VarNico & "'"
Pour les numériques les ' ' ne sont pas valables
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Pour moi, ca requete etait presque correcte :

"select * from acteur where actcod="'" & textbox1.text & "'"

seul les guillemets que j'ai mis en gras etaient en trop.
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
le contenu de textbox1.text est string,
si tu ne le convertit pas ça reste string
or le champ est tout atre
Messages postés
1141
Date d'inscription
mercredi 7 mars 2007
Statut
Membre
Dernière intervention
19 septembre 2007
1
Oui désolé Posts Croisés
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
oui, j' ai remarqué :-)

Bonne fin de journée...