cs_MagDix
Messages postés532Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention 6 octobre 2012
-
10 avril 2008 à 20:14
cs_MagDix
Messages postés532Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention 6 octobre 2012
-
11 avril 2008 à 13:52
Salut
J'ai un petit problème avec ma requête SQL
J'utilise VB.Net et ADO.Net
Je fais apparaitre l'enssemble de ma Bd dans un DataGrid et tout est OK
Dans ma BD j'ai une colonne qui est Oui/Non
Je ne sais pas comment coder ma requête UPDATE avec ce type de Colonne si l'utilisateur coche un checkbox (Oui/Non)
Ma colonne ayant le Oui/Non se nomme Vis
Voici ma requête avec l'erreur:
Ma colonne Nu = NumeroAuto et les autres colonne sont du Texte.
RequeteSQL = "UPDATE Liste SET Co= '" & DtgListe.CurrentRow.Cells(1).Value & "',Ca= '" & DtgListe.CurrentRow.Cells(2).Value & _"',Cir'" & DtgListe.CurrentRow.Cells(3).Value & "', Vis '" & DtgListe.CurrentRow.Cells(4).Value & _
"' WHERE Nu = " & DtgListe.CurrentRow.Cells(0).Value
Ca bug à mon Data Adapter et ca me dit Type de données incompatible dans l'expression de critère.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 11 avril 2008 à 12:23
Regarde dans ta base de données, tes 5 Vi doivent probalement etre enregistrer dans la colonne Ci suite à tes précédents essais. Il faut probablement que tu y fasse le ménage à la main.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 10 avril 2008 à 20:52
Regarde le contenu de ta variable RequeteSQL et vérifie que les valeurs correspondent bien à leur type.
Seules les dates et les string doivent etre encadrées de '
Les nombres et les boolean ne doivent pas etre encadrés de '
Les nombres à virgules doivent normalement etre passés avec le point en séparateur décimal
cs_MagDix
Messages postés532Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention 6 octobre 20121 10 avril 2008 à 21:31
J'ai oublier...
avec la requête qui fonctionne pour modifier les colones qui sont en texte j'arrive à une requête qui ressemble à ca
Tu remarquera que j'ai 5 fois Vi=False ??????
Vois-tu pourquoi ?
merci
UPDATE Liste SET Co '01', Ca 'Entré', Ci = 'Mne, Vi = False, Vi = False, Vi = False, Vi = False, Vi = False' WHERE Nu = 2
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 10 avril 2008 à 21:54
Pourquoi 5 fois ?
Tout simplement parce que tu as une erreur avec les quotes depuis le début surrement et que tu à mis à jours la colonne Ci 5 fois déjà en rajoutant chaque fois ", Vi= False" à la valeur qu'elle contient déjà
cs_MagDix
Messages postés532Date d'inscriptionlundi 5 juin 2006StatutMembreDernière intervention 6 octobre 20121 10 avril 2008 à 22:06
Tu as bien dit: quand c'est du texte je mets des quote sinon pas de cote...
RequeteSQL "UPDATE Liste SET Code '" & DtgListe.CurrentRow.Cells(0).Value &
"', Ca = '" & Replace(DtgListe.CurrentRow.Cells(1).Value,
"'",
"''") & _
"', Ci = '" & Replace(DtgListe.CurrentRow.Cells(2).Value,
"'",
"''") &
"', Vi = " & DtgListe.CurrentRow.Cells(3).Value & _
" WHERE Nu = " & DtgListe.CurrentRow.Cells(4).Value
Pour le moment tout s'enregistre et même la colonne avec les Oui/Non mais je ne saisi vraiment pas comment régler ce bug...