Probléme avec update command

dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013 - 24 mai 2011 à 11:01
dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013 - 24 mai 2011 à 13:13
Bonjour,
Je veux modifier qu'un seul champs et mettre en condition les autre champs par contre j'utilise pas deux autre champs dans ma requete (numéro decompte ,date decompte) mais la commande update sa me donne une erreur au niveau de la requete (operator '&' is not defined for string "update "update decompte set payee ='oui" and type datarowview')

voila mon code :
 Dim c As String
        If RadioButton2.Checked = True Then
            c = "oui"

        End If
        co.Open()
        Dim cmd As New SqlCommand("update decompte set payee ='" & c & "' where trimestre=" & TextBox1.Text & " and annee=" & TextBox2.Text & "and num_contrat=" & ComboBox1.SelectedValue, co)
        cmd.ExecuteNonQuery()
        MsgBox("modifier")
        co.Close()

Merci d'avance

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 mai 2011 à 11:26
Salut

Manque un espace devant le And de ...TextBox2.Text & "and num..."

Pour être lisible et voir ce genre d'erreur, un peu de remise en forme :
Dim sSQL As String = _
    "Update decompte " & _
    "   Set payee = '" & c & "'" & _
    " Where trimestre   = " & TextBox1.Text & _
    "   And annee       = " & TextBox2.Text & _
    "   And num_contrat = " & ComboBox1.SelectedValue
Dim cmd As New SqlCommand(sSQL, co)
Ca te permettra de visualiser la syntaxe SQL avant de la soumettre

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013
24 mai 2011 à 11:35
Sa me fait la meme erreur sauf qu'il a enlevé le 'oui' (operator '&' is not defined for string "update "update decompte set payee ='" and type datarowview')
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
24 mai 2011 à 13:00
Comme tu es en VB.Net, vois s'il ne faudrait pas remplacer les & de concaténation de chaine, par des +

Dans ta table, de quel type est ton champ "payee" ?
Parce que là, cela suppose qu'il s'agit d'un champ de type texte. C'est le cas ?

Les autres champs (trimestre, annee et num_contrat) sont bien des champs numériques ?

Pense aussi à encadrer le nom des champs (ou table) qui comporteraient des caractères spéciaux comme des espaces, des accents, des synmboles comme _
Exemple :
... And [num_contrat] = " + ...
0
dibax10 Messages postés 65 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 28 mars 2013
24 mai 2011 à 13:13
En vb.net on utilise les &
Et sa marche j'ai travaillé avec les requête paramétrées
Merci pour ton aide comme même
Bonne journée .
0
Rejoignez-nous