Problem dans "insert" au base de donner

ouafa1 Messages postés 2 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 3 mai 2009 - 3 mai 2009 à 19:18
ouafa1 Messages postés 2 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 3 mai 2009 - 3 mai 2009 à 21:20
Bonjour à tous je veux  faire une requêt de "insert" mais un mesage d'erreur s'affiche lors de l'execution :
(syntaxe incorrecte vers "," )  
Svp aide moi c'est urgent. 
voici le code:

Private
Sub btnValider_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles btnValider.Click

Dim s
As
String =
"Data Source=.;Initial Catalog=Cr‚ditAgricole;Integrated Security=True"
Dim con
As
New SqlConnection(s)

Dim com
As SqlCommand
com =
New SqlCommand

Dim r, p
As
String
If
Me.chbMre.Checked =
True
Then
If
Me.rdR‚sident.Checked =
True
Then
r =
"M.R.E et r‚sident"
Else
r =
"M.R.E et non r‚sident"
End
If
Else
r =
""
End
If
If
Me.rdPhysique.Checked =
True
Then
p =
"Physique"
Else
p =
"Morale"
End
If
Try
com.CommandText =
"insert into Client values (" &
Me.txtCodeAgence.Text &
",'" &
Me.cmbQualit‚.Text &
"','" &
Me.txtNationnalit‚.Text &
"','" & r &
"','" &
Me.txtCat‚gR‚sidence.Text &
"','" &
Me.txtNom.Text &
"','" &
Me.txtPr‚nom.Text &
"'," &
Me.txtNChargeClient.Text &
",'" &
Me.txtDateOuverture.Text &
"'," &
Me.txtTelephone.Text &
",'" &
Me.txtEmail.Text &
"'," &
Me.txtFax.Text &
",'" &
Me.txtCSP.Text &
"','" &
Me.txtAP.Text &
"','" &
Me.txtAA.Text &
"','" &
Me.txtAE.Text &
"','" & p &
"','" &
Me.txtAdresse1.Text &
"','" &
Me.txtPays.Text &
"','" &
Me.txtVille.Text &
"'," &
Me.txtCodePostal.Text &
")"
com.Connection = con
con.Open()
com.ExecuteNonQuery()
con.Close()

Catch ex
As Exception
MsgBox(ex.Message)

End
Try
End
Sub

3 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
3 mai 2009 à 19:53
Salut
Il manque les _ en fin de ligne, surement dû à un problème de copier/coller.
Prends l'habiture de bien indenter ton code et d'abuser des coupures avec le _
Cela donne de la clarté et cela permet de rechercher beaucoup plus facilement les erreurs.

Voilà ton code remis en forme :
"insert into Client values (" & _
                 Me.txtCodeAgence.Text & "," & _
           "'" & Me.cmbQualit,.Text & "'," & _
           "'" & Me.txtNationnalit,.Text & "'," & _
           "'" & r & "'," & _
           "'" & Me.txtCat,gR,sidence.Text & "'," & _
           "'" & Me.txtNom.Text & "'," & _
           "'" & Me.txtPr,nom.Text & "'," & _
                 Me.txtNChargeClient.Text & "," & _
           "'" & Me.txtDateOuverture.Text & "'," & _
                 Me.txtTelephone.Text & "," & _
           "'" & Me.txtEmail.Text & "'," & _
                 Me.txtFax.Text & "," & _
           "'" & Me.txtCSP.Text & "'," & _
           "'" & Me.txtAP.Text & "'," & _
           "'" & Me.txtAA.Text & "'," & _
           "'" & Me.txtAE.Text & "'," & _
           "'" & p & "'," & _
           "'" & Me.txtAdresse1.Text & "'," & _
           "'" & Me.txtPays.Text & "'," & _
           "'" & Me.txtVille.Text & "'," & _
                 Me.txtCodePostal.Text & ")"
Je n'y vois pas d'anomalie.
Assure toi que les champs suivants (dans la DB) sont bien définis comme des chiffres (les autres devant être des texte) :
   CodeAgence, NChargeClient, Telephone, Fax

Il est impératif que cette liste de TextBox correspondent à la liste des champs de ta DB (même ordre et quantité)
La syntaxe officielle est 
   Insert Into maTable
          (monChamp1, monChamp2 [, monChamp3])
   Values (maValeur1, maValeur2 [, maValeur3])
mais on peut se passer de la liste des noms des champs si on doit utiliser tous les champs et dans le bon ordre.

Bien sûr, il est aussi impératif que le contenu de tes TextBox ne comportent pas de ' qui pourrait déséquilibrer les ouvertures/fermetures de zone texte; la solution étant de doubler ces ' situés à l'intérieur des chaines à insérer, c'est la raison pour laquelle on n'utilise pratiquement jamais les TextBox directement.

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

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
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
3 mai 2009 à 19:55
CodePostal aussi doit être défini comme chiffre dans la DB
0
ouafa1 Messages postés 2 Date d'inscription dimanche 3 mai 2009 Statut Membre Dernière intervention 3 mai 2009
3 mai 2009 à 21:20
merci bcp pour votre conseils
0
Rejoignez-nous