IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

probleme d'insertion dans une BDD Access


Sujet :

Windows Forms

  1. #1
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut probleme d'insertion dans une BDD Access
    Salut tt le monde ,
    j'ai un petit probleme d'insertion des donnees dans une BDD Access , voila ce que j'ai codé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    string SqlInsert = "INSERT INTO DEVIS (CHAP,SOUS-CHAP) VALUES(@chap, @sous)";
     
    OleDbCommand Comm = new OleDbCommand(SqlInsert, Conn);
     
    Comm.Parameters.Add("@chap", "colonne1");
     
    Comm.Parameters.Add("@sous", "colonne2");
     
    Comm.ExecuteNonQuery();
     
    Conn.Close();
    cela me donne l'erreur :
    Erreur de syntaxe dans l'instruction INSERT INTO.
    quelqu'un pourrait-il m'indiquer ou se trouve l'anomalie ?.
    merci d'avance.

  2. #2
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    L'erreur se trouve au niveau de ta requête. Mets un BreakPoit sur ton string SqlInsert

  3. #3
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut Re :
    mais a quoi ça sert , ce n'est qu'une chaine de caractere , (peut etre que j'ai mal formé ma requete !?). le message apparait au niveau de : Comm.ExecuteNonQuery();

  4. #4
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Citation Envoyé par bellak Voir le message
    mais a quoi ça sert , ce n'est qu'une chaine de caractere , (peut etre que j'ai mal formé ma requete !?)
    Justement ta requête, c'est ta chaine de caractere dis tes "colonnes" ils sont de quels types puisqu'ils doivent être de même type que "CHAP,SOUS-CHAP". Et encadre ton code par un try/catch

  5. #5
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut
    mes colonnes sont de type Text(VarChar) , j'ai meme utilisé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    string SqlInsert = "INSERT INTO DEVIS (CHAP,SOUS-CHAP) values(@chap, @sous)";
                try
                {
                    //Conn.Open();
                    OleDbCommand Comm = new OleDbCommand(SqlInsert, Conn);
                    Comm.Parameters.Add("@chap", "merci");
                    Comm.Parameters.Add("@sous", "merci");
                    Comm.ExecuteNonQuery();
                    Comm.Parameters.Clear();
                }
                catch
                {
                    MessageBox.Show("erreur de connection");
                }
    mais le meme probleme .

  6. #6
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Je n'ai jamais bossé avec Access via C# mais y'a pas u truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Comm.Parameters.Add("@chap", OleDbType.Varchar); // pour spécifier le type
    Comm.Parameters["@chap"].Value = "ma_colonne"; // pour passer la valeur
    hein?

  7. #7
    Membre à l'essai
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juillet 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juillet 2006
    Messages : 16
    Points : 15
    Points
    15
    Par défaut Problème identique
    Salut,

    J'ai eu un peu le même problème dernièrement.

    Regarde ici

  8. #8
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut
    Salut ,
    pardon pour le retard , j'ai deja essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Comm.Parameters.Add("@chap",OleDbType.VarChar).Value = "merci";
    mais le meme probleme , et la meme chose pour le probleme de "erce" je vois pas l'anomalie dans mon code .

  9. #9
    Membre extrêmement actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Points : 1 173
    Points
    1 173
    Par défaut
    Essaie alors d'y aller sans les Parameter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string SqlInsert = "INSERT INTO DEVIS (CHAP,SOUS-CHAP) values("chap1","sous1" )";
    et tu exécutes directement

  10. #10
    Membre expérimenté Avatar de callo
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Février 2004
    Messages
    887
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Togo

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 887
    Points : 1 699
    Points
    1 699
    Par défaut
    Bonjour à tous et coucou à toi Fally .
    bellak pourrais-tu nous montrer ton code à l'état actuel ?

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    tu peux utiliser les procédures stockées avec Access.
    tu ecris ta requête dans access et tu l'appelle dans ton code.
    voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    con.Open();
    com = new OleDbCommand("Nom de la requête", con);
    com.CommandType = CommandType.StoredProcedure;
    tr = con.BeginTransaction();
    com.Transaction = tr;
    com.Parameters.Add(new OleDbParameter("@chap", OleDbType.VarChar, 150, "CHAP"));
    com.Parameters["@chap"].Value =valeur à mettre;
    int verif = com.ExecuteNonQuery();
    tr.Commit();
    con.Close();

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    exemple de la requête dans Access :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INSERT INTO DEVIS (CHAP,SOUS-CHAP)
    VALUES ([@chap],[@sous]);

  13. #13
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut
    bonjour a tous ,
    string SqlInsert = "INSERT INTO DEVIS (CHAP,SOUS-CHAP) values("chap1","sous1" )";
    je l'ai deja essayé mais avec des quotes sinon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string SqlInsert = "insert into AP(AP_ID,AP_name) VALUES('" + chap.Replace("'","''") + "','" + sous.Replace("'","''") + "')";
    tu peux utiliser les procédures stockées avec Access.
    tu ecris ta requête dans access et tu l'appelle dans ton code.
    donc je dois ecrire la requete tt d'abord dans Access , et puis le code ??

  14. #14
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut
    SVP "johnny" ,
    qsq je dois faire dans Access ??

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    oui tu écris ta requête dans Access comme je l'ai écris et ensuite le code que tu adaptes avec tes données.
    et ça marchera

  16. #16
    Membre averti Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Points : 341
    Points
    341
    Par défaut
    maintenent c'est bon "johnny" ,
    donc je dois ecrire une requete et puis de l'exporter en BDD ODBC si on utilise l'Odbc, c'est ça
    merci a tous qu'ils m'ont essayé de m'aider .
    mais la question est ouverte , pourquoi mon premier code ne marche pas alors qu'il y a qui ont essayé le meme code et ça marche pour eux ??
    en tt cas merci bien .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème d'insertion dans une BDD Access
    Par ikram0 dans le forum JDBC
    Réponses: 8
    Dernier message: 05/05/2015, 10h52
  2. Problème : insertion dans une BDD ACCESS avec VB
    Par Dorni dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 19/05/2009, 14h35
  3. probleme insert dans une bd access
    Par ocean24 dans le forum JDBC
    Réponses: 1
    Dernier message: 14/09/2006, 18h44
  4. insertion d'un champs dans une bdd access
    Par pepper18 dans le forum SGBD
    Réponses: 1
    Dernier message: 26/05/2006, 19h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo