Erreur de syntaxe dans l'instruction UPDATE.

rassen88 Messages postés 5 Statut Membre -  
L0ci Messages postés 112 Statut Membre -
Bonjour,
jais un gros problème avec la requête update . cependant la requete d'insertion marche alors que la requete update et delete ne marche pas voisi mon code et merci davance

cnn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\DELL\Desktop\lossreport - Copie.mdb;")
cnn.Open()

cmd.Connection = cnn
cmd.CommandText = "UPDATE employé SET Nom = '" & T2.Text & "', Prenom = '" & T3.Text & "', Type = '" & C1.Text & "', Position = '" & C2.Text & "', Societé = '" & td.Text & "' WHERE ID = " & CInt(T1.Text) & ""
cmd.ExecuteNonQuery()

Me.RefreshData()

A voir également:

5 réponses

le père
 
Bonjour

Affiche la requête réellement exécutée, en faisant par exemple
debug.print "UPDATE employé SET Nom = '" & T2.Text & "', Prenom = '" & T3.Text & "', Type = '" & C1.Text & "', Position = '" & C2.Text & "', Societé = '" & td.Text & "' WHERE ID = " & CInt(T1.Text) & "" 

(Au passage, & "" à la fin est absurde : pourquoi ajouter une chaîne vide ???)
1
rassen88 Messages postés 5 Statut Membre 1
 
jai mis les + au lieu des l'erreur suivant est afficher "La conversion de la chaîne "UPDATE employé SET Nom = 'hhhh'," en type 'Double' n'est pas valide."
jai mis la requete suivante
cmd.CommandText = "UPDATE employé SET Nom = '" + T2.Text + "', Prenom = '" + T3.Text + "', Type = '" + C1.Text + "', Position = '" + C2.Text + "', Societé = '" + td.Text + "' WHERE ID = " + CInt(T1.Text) jai oublier merci pour l'attention que vous faite a mon sujet .................
1
le père
 
As-tu compris ce que je cherchais à te faire faire ?
Il s'agit simplement de visualiser la requête réellement utilisée.
Peu importe que tu utilises debug.print ou autre chose. Tu as bien dans ton environnement (tu ne dis pas avec quoi tu travailles) un moyen d'afficher du texte, non ?

Pour utiliser debug.print, (si l'objet debug existe dans ton environnement), mets la ligne que je t'ai indiquée juste avant cmd.ExecuteNonQuery().
1
L0ci Messages postés 112 Statut Membre 30
 
Bonjour,
As tu essayé de mettre des + au lieu des & dans ta CommandText?
0
rassen88 Messages postés 5 Statut Membre 1
 
jai mis les + au lieu des l'erreur suivant est afficher "La conversion de la chaîne "UPDATE employé SET Nom = 'hhhh'," en type 'Double' n'est pas valide."
jai mis la requete suivante
cmd.CommandText = "UPDATE employé SET Nom = '" + T2.Text + "', Prenom = '" + T3.Text + "', Type = '" + C1.Text + "', Position = '" + C2.Text + "', Societé = '" + td.Text + "' WHERE ID = " + CInt(T1.Text)
0
rassen88 Messages postés 5 Statut Membre 1
 
jai oublier merci pour l'attention que vous faite a mon sujet .................
0
le père
 
Utiliser un + à la place de & n'avait aucune chance de marcher. La concaténation en VB, c'est & et pas +.

As-tu fait le debug.print que je te suggère pour voir quelle est la vraie requête ? Je parie que ce n'est pas celle que tu crois.
0
L0ci Messages postés 112 Statut Membre 30
 
Effectivement. Je n'avais pas vu le me.refreshData() et du coup j'étais parti sur du c# :)
0

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

Posez votre question
rassen88 Messages postés 5 Statut Membre 1
 
franchement je sai pas comment faire debug.print si vous pouvez me suggérer comment le faire je serai ravie
0
L0ci Messages postés 112 Statut Membre 30
 
En fait il suffit d'afficher le contenu de ta variable CommandText pour qu'on puisse s'assurer qu'il n'y a pas d'erreurs de syntaxe.
0