[Access] Erreur sur insertion

Résolu
marwenebhar Messages postés 45 Date d'inscription lundi 9 avril 2012 Statut Membre Dernière intervention 30 avril 2013 - 28 oct. 2012 à 19:45
marwenebhar Messages postés 45 Date d'inscription lundi 9 avril 2012 Statut Membre Dernière intervention 30 avril 2013 - 5 nov. 2012 à 19:41
slt MarDOS

l'insertion dans la base MS access ne fonction pas le compilateur me donne c message d'erreur "Type de données incompatible dans l'expression du critère."

voila mon code

   private void button2_Click(object sender, EventArgs e)
        {
            int prod;
            
            string des1 = des.Text;
            Int32 pri = Int32.Parse(prix.Text);
            Int32 qt = Int32.Parse(qte.Text);
            bool pr = pro.Checked;
            DateTime dt = this.date.Value.Date;
            int ref1 = Convert.ToInt32(Ref.Text);
            
            if (pr == true)
            {
                prod = 1;
            }
            else
            {
                prod = 0;
            }
            prod = 0;
            string StrCnn @"Provider Microsoft.Jet.OLEDB.4.0; Data Source = D:\BaseArticles.mdb";
            OleDbConnection cnn = new OleDbConnection(StrCnn);
            cnn.Open();
            string StrSql = "UPDATE  Article SET Designation='" + des1 + "',Prix='" + pri + "',Quantite='" + qt + "',Promo='" + prod + "',DatePromo='" + dt + "' WHERE (Ref='" + ref1 +"')";
            OleDbCommand cmd = new OleDbCommand(StrSql, cnn);
            cmd.ExecuteNonQuery();

            MessageBox.Show("Le Article a été bien modifier");
        }
    }

8 réponses

Convert.ToString 

Excusé moi
3
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
28 oct. 2012 à 20:05
Bonjour,

Si tes champs sont des numériques, les ' sont inutiles voir même la cause de l'erreur.

Les ' servent juste à délimiter les données pour les champs de type Chaine de caractères, pas pour les nombre.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
marwenebhar Messages postés 45 Date d'inscription lundi 9 avril 2012 Statut Membre Dernière intervention 30 avril 2013
28 oct. 2012 à 20:46
slt MarDOS
oui les champs sont tous de type int dans la base
0
marwenebhar Messages postés 45 Date d'inscription lundi 9 avril 2012 Statut Membre Dernière intervention 30 avril 2013
28 oct. 2012 à 21:20
cc y'a-t-il une proposition ?
0

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

Posez votre question
NHenry Messages postés 15114 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 4 mai 2024 159
29 oct. 2012 à 00:04
Bonjour,

As-tu retiré les ' donc ?
Et si l'erreur perdure, remets le code mis à jour sur le forum.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
BunoCS Messages postés 15476 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 3 mai 2024 103
29 oct. 2012 à 17:48
Yop,
Je me suis permis de renommer le topic...


@+
Buno, Admin CS
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Je ne sais pas si tu a réussis a régler ton probleme mais tu peux convertir tes type de donné.
Avec ceci
Conver.ToString()
0
marwenebhar Messages postés 45 Date d'inscription lundi 9 avril 2012 Statut Membre Dernière intervention 30 avril 2013
5 nov. 2012 à 19:41
slt MarDOS

merci la problème est résolu avec la surimpression de '
0
Rejoignez-nous