Chercher un enregistremnt en utilisant une requete sql

Résolu
faksouha Messages postés 63 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 4 mai 2011 - 4 mai 2007 à 12:45
faksouha Messages postés 63 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 4 mai 2011 - 7 mai 2007 à 11:53
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

chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 mai 2007 à 12:54
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)
3
faksouha Messages postés 63 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 4 mai 2011
7 mai 2007 à 11:53
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!
3
faksouha Messages postés 63 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 4 mai 2011
4 mai 2007 à 13:01
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.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 mai 2007 à 13:06
et t' as vérifié que le numéro entré dans
la textbox éxiste réellement ?
Tu utilises ADO ou  DAO ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
faksouha Messages postés 63 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 4 mai 2011
4 mai 2007 à 13:09
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.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 mai 2007 à 13:13
et avec:
dim s as integer=1
puis dans la requete sql:
"select * from acteur where actcod=" & s
0
faksouha Messages postés 63 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 4 mai 2011
4 mai 2007 à 13:18
je vais tester. mais là c'est un cas particulier.

je vais revoir le code.

merci et bonne journée.
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
4 mai 2007 à 13:20
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

 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 mai 2007 à 13:23
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++
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
4 mai 2007 à 13:26
Oki....

A+
Exploreur

 
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
4 mai 2007 à 13:28
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

 
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 mai 2007 à 13:32
on l' aura un jour , on l' aura...!
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
4 mai 2007 à 13:36
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 ??
0
cs_Exploreur Messages postés 4822 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 14
4 mai 2007 à 13:38
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

 
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
4 mai 2007 à 13:41
Tu veux dire que le faire d'utiliser CInt() change la clause, c'est ca ?
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 mai 2007 à 13:53
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
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
4 mai 2007 à 13:53
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.
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 mai 2007 à 13:57
le contenu de textbox1.text est string,
si tu ne le convertit pas ça reste string
or le champ est tout atre
0
cs_Nicko11 Messages postés 1141 Date d'inscription mercredi 7 mars 2007 Statut Membre Dernière intervention 19 septembre 2007 3
4 mai 2007 à 14:10
Oui désolé Posts Croisés
0
chaibat05 Messages postés 1883 Date d'inscription samedi 1 avril 2006 Statut Membre Dernière intervention 20 novembre 2007 2
4 mai 2007 à 14:16
oui, j' ai remarqué :-)

Bonne fin de journée...
0