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

C# Discussion :

Correction instruction Sql Insert into [Débutant]


Sujet :

C#

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2012
    Messages : 79
    Points : 64
    Points
    64
    Par défaut Correction instruction Sql Insert into
    Bonjour!
    Je suis en train de concevoir une application de gestion du personnel

    j'utilise une base de données access que j'ai importé sur visual c#

    dans cette base j'ai la table Agent qui est en relation avec table service

    j'ai crée un form qui contient à la fois les champs de la table Agent et Service

    j'ai crée un bouton save pour enregistrer avec code mais je reçois l'erruer suivante:

    ErreurSystem.Data.OleDbException: "Erreur de syntaxe dans l'instruction Insert into"

    Voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    try
                {
                    connection.Open();
                    OleDbCommand command = new OleDbCommand();
     
                    command.Connection = connection;
     
                    command.CommandText ="Insert into AGENT(Matricule,Nom_Prénom,Date_naiss,Lieu_naiss,Age,Sexe,Situation_matrimon,Type_agent,Corps,Cadre,CATEGORIE,Grade,Echelon,Adresse,Personne_à_contacter) values('" + textBox1.Text + "','" + textBox2.Text + "','" + dateTimePicker1.Value + "','" + textBox8.Text + "','" + textBox5.Text + "','" + comboBox1.SelectedValue + "','" + comboBox2.SelectedValue + "','" + comboBox3.SelectedValue + "','" + textBox3.Text + "','" + textBox6.Text + "','" + comboBox4.SelectedValue + "','" + comboBox5.SelectedValue + "','" + comboBox6.SelectedValue + "','" + textBox4.Text + "','" + textBox7.Text + "');";
     
                    command.CommandText = "insert into SERVICE(Direction,Service,Fonction,Date affectation) values('" + textBox9.Text + "','" + textBox10.Text + "','" + textBox11.Text + "','" + textBox12.Text + "')";
                    command.ExecuteNonQuery();       
     
                    MessageBox.Show("Data Saved");
     
                    connection.Close();
                }
     
                catch (Exception ex)
                {
                    MessageBox.Show("Erreur" + ex);
                }
            }
    SVP quelqu'un peut il m'aider
    Merci!

  2. #2
    Membre actif
    Avatar de didate
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 90
    Points : 238
    Points
    238
    Par défaut
    Bonjour,

    Pour éviter tout problème, il est vivement conseillé d'utiliser la classe OleDbParamater.

    http://msdn.microsoft.com/fr-fr/libr...v=vs.110).aspx

    http://www.java2s.com/Tutorial/CShar...terExample.htm
    L'effort fait les forts

  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    On ne jouit bien que de ce qu’on partage.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2012
    Messages : 79
    Points : 64
    Points
    64
    Par défaut Mamadou
    Citation Envoyé par didate Voir le message
    Bonjour,

    Pour éviter tout problème, il est vivement conseillé d'utiliser la classe OleDbParamater.

    http://msdn.microsoft.com/fr-fr/libr...v=vs.110).aspx

    http://www.java2s.com/Tutorial/CShar...terExample.htm

    Ok,merci je vais essayer les requêtes paramétrées et voir ce que cela va donner

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2012
    Messages : 79
    Points : 64
    Points
    64
    Par défaut Combobox
    Citation Envoyé par Ashfor76 Voir le message
    Ok,merci je vais essayer les requêtes paramétrées et voir ce que cela va donner

    J'ai use les requêtes paramétrées mais lors du Run,je reçois un message encore : (le paramètre @combox1 n'a pas de valeur par défaut)

  6. #6
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 154
    Points : 7 403
    Points
    7 403
    Billets dans le blog
    1
    Par défaut
    Peut-être ton pilote ne supporte-t-il pas les "NamedParameters" ? A ce moment, il ne faut pas donner de nom à tes paramètres, et remplacer le @xxx par des "?" (attention, les paramètres doivent être passés à la collection "Parameters" dans le même ordre que dans la requête du coup !)

    Ou alors tu utilises un SGBD qui utilise un autre préfixe de variable, par exemple ":" pour Oracle.
    On ne jouit bien que de ce qu’on partage.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2012
    Messages : 79
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par StringBuilder Voir le message
    Peut-être ton pilote ne supporte-t-il pas les "NamedParameters" ? A ce moment, il ne faut pas donner de nom à tes paramètres, et remplacer le @xxx par des "?" (attention, les paramètres doivent être passés à la collection "Parameters" dans le même ordre que dans la requête du coup !)

    Ou alors tu utilises un SGBD qui utilise un autre préfixe de variable, par exemple ":" pour Oracle.


    J'utilise Access2010 comme SGBD

  8. #8
    Membre actif
    Avatar de didate
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 90
    Points : 238
    Points
    238
    Par défaut
    Citation Envoyé par Ashfor76 Voir le message
    J'utilise Access2010 comme SGBD
    Poste ton code....
    L'effort fait les forts

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2012
    Messages : 79
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par didate Voir le message
    Poste ton code....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
     public partial class Form1 : Form
        {
            private OleDbConnection connection = new OleDbConnection();
     
            public Form1()
            {
                InitializeComponent();
                connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\USER\Documents\Visual Studio 2010\Projects\Perso\GA2P.mdb;
    Persist Security Info=False;";
     
     
     
            }
     
     
            private void button1_Click(object sender, EventArgs e)
            {
                string marequête;
                string marequête1;
     
                try
                {
                    marequête="Insert into AGENT(Matricule,Nom_Prénom,Date_naiss,Lieu_naiss,Age,Sexe,Situation_matrimon,Type_agent,Corps,Cadre,CATEGORIE,Grade,Echelon,Adresse,Personne_à_contacter) values(@textBox1,@textBox2,@dateTimePicker1,@textBox8,@textBox5,@comboBox1,@comboBox2,@comboBox3,@textBox3,@textBox6,@comboBox4,@comboBox5,@comboBox6,@textBox4,@textBox7)";
                    OleDbCommand command = new OleDbCommand(marequête,connection);
     
                     command.Connection = connection;
                     comboBox1.SelectedIndex = 0;
                     command.CommandType = CommandType.StoredProcedure;
                    command.Parameters.AddWithValue("?textBox1",textBox1.Text);
                    command.Parameters.AddWithValue("?textBox2", textBox2.Text);
                    command.Parameters.AddWithValue("?dateTimePicker1", dateTimePicker1.Value);
                    command.Parameters.AddWithValue("?textBox8", textBox8.Text);
                    command.Parameters.AddWithValue("?textBox5", textBox5.Text);
                    command.Parameters.AddWithValue("?comboBox1", comboBox1.SelectedValue);
                    command.Parameters.AddWithValue("?comboBox2", comboBox2.SelectedValue);
                    command.Parameters.AddWithValue("?comboBox3", comboBox3.SelectedValue);
                    command.Parameters.AddWithValue("?textBox3", textBox3.Text);
                    command.Parameters.AddWithValue("?textBox6", textBox6.Text);
                    command.Parameters.AddWithValue("?comboBox4", comboBox4.SelectedValue);
                    command.Parameters.AddWithValue("?comboBox5", comboBox5.SelectedValue);
                    command.Parameters.AddWithValue("?comboBox6", comboBox6.SelectedValue);
                    command.Parameters.AddWithValue("?textBox4", textBox4.Text);
                    command.Parameters.AddWithValue("?textBox7", textBox7.Text);
                    command.Connection.Open();
                    command.ExecuteNonQuery();
                    command.Connection.Close(); 
     
                    marequête1 = "insert into SERVICE(Direction,Service,Fonction,Date affectation) values(@textBox9,@ textBox10,@textBox11,@textBox12)";
                    OleDbCommand command1 = new OleDbCommand(marequête1, connection);
                    command1.Connection = connection;
     
                    command1.Parameters.AddWithValue("@textBox9", textBox9.Text);
                    command1.Parameters.AddWithValue("@textBox10", textBox10.Text);
                    command1.Parameters.AddWithValue("@textBox11", textBox11.Text);
                    command1.Parameters.AddWithValue("@textBox12", textBox12.Text);
     
     
                        command1.Connection.Open();
                        command1.ExecuteNonQuery();
     
                    command1.Connection.Close();
     
                    }
     
                    catch (OleDbException ex)
                {
                    MessageBox.Show("Erreur" + ex);
                }
    ci dessous le code

  10. #10
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    Bonjour

    Cela me pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    command.CommandType = CommandType.StoredProcedure;
    le type de commande paramétré ici est pour les procédures stockées. Pour les requêtes "simples" il faut plutôt passer par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    command.CommandType = CommandType.Text;
    non ?

    et pour les requêtes paramétrées, essaie plutôt cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    marequête="Insert into AGENT(Matricule,Nom_Prénom,Date_naiss,Lieu_naiss,Age,Sexe,Situation_matrimon,
                                                Type_agent,Corps,Cadre,CATEGORIE,Grade,Echelon,Adresse,Personne_à_contacter) 
                       values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    // les paramètres de la requête, au nombre de 15, sont des ?
     
                    OleDbCommand command = new OleDbCommand(marequête,connection);
                     command.Connection = connection; // pas besoin je pense, car c'est sous entendu sur la ligne juste au dessus
                     comboBox1.SelectedIndex = 0;
                     command.CommandType = CommandType.Text; // text et pas storedProcedure
     
                    command.Parameters.Add("@textbox1", OleDbType.VarChar, 80).Value = textBox1.Text; //  OleDbType.VarChar, 80 est un exemple, tout dépend de la taille du champ cible
                    // etc ...

    C'est ce que j'ai fait dans un de mes projets via ODBC, qui appelle une procédure stockée cette fois-ci, mais c'est la même chose, juste faire attention au CommandType
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    OdbcCommand dataSQL = new OdbcCommand("{call " + C_A_Tables.GO_Site + C_A_Tables.GO_No_Societe  + ".dbo.PR_AGENTS_PREP_SELECTION(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}", GO_Init.conn);
     
                        dataSQL.Parameters.Add("@B_Edit", OdbcType.Char).Value = "0";
                        dataSQL.Parameters.Add("@BaseSOC", OdbcType.VarChar).Value = C_A_Tables.GO_Site + C_A_Tables.GO_No_Societe  ;
                        dataSQL.Parameters.Add("@module", OdbcType.VarChar).Value = MMain.GO_Nom_module;
                        dataSQL.Parameters.Add("@User", OdbcType.VarChar).Value = MMain.GO_Utilisateur;
                        dataSQL.Parameters.Add("@Actif", OdbcType.VarChar).Value = "0";
                        dataSQL.Parameters.Add("@Presents", OdbcType.VarChar).Value = APresents;
                        dataSQL.Parameters.Add("@Partis", OdbcType.VarChar).Value = APartis;
                        dataSQL.Parameters.Add("@Matricule", OdbcType.VarChar).Value = AMatricule;
                        dataSQL.Parameters.Add("@Nom", OdbcType.VarChar).Value = ANom;
                        dataSQL.Parameters.Add("@Car", OdbcType.VarChar).Value = ACarriere;
                        dataSQL.Parameters.Add("@TypeCar", OdbcType.VarChar).Value = ATypeCar;
                        dataSQL.Parameters.Add("@OrderBy", OdbcType.VarChar).Value = AOrderBy;
                        dataSQL.Parameters.Add("@restrict_centre", OdbcType.VarChar).Value = MMain.GA_Structure;
                        dataSQL.Parameters.Add("@GMFI_HABI", OdbcType.VarChar).Value = "";
                        dataSQL.Parameters.Add("@Date_Ref", OdbcType.VarChar).Value = "";
                        dataSQL.Parameters.Add("@CarSimple", OdbcType.VarChar).Value = ACarSimple;
                        dataSQL.Parameters.Add("@BNomJF", OdbcType.VarChar).Value = A_NomJeuneFille;

    edit : dsl pour les multiples edit

  11. #11
    Membre actif
    Avatar de didate
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 90
    Points : 238
    Points
    238
    Par défaut
    Pour être plus bref essaye ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
     
     private void button1_Click(object sender, EventArgs e)
            {
                string marequête;
                string marequête1;
     
                try
                {
                    marequête="Insert into AGENT(Matricule,Nom_Prénom,Date_naiss,Lieu_naiss,Age,Sexe,Situation_matrimon,Type_agent,Corps,Cadre,CATEGORIE,Grade,Echelon,Adresse,Personne_à_contacter) values(@textBox1,@textBox2,@dateTimePicker1,@textBox8,@textBox5,@comboBox1,@comboBox2,@comboBox3,@textBox3,@textBox6,@comboBox4,@comboBox5,@comboBox6,@textBox4,@textBox7)";
                    OleDbCommand command = new OleDbCommand(marequête,connection);
     
                     command.Connection = connection;
                     comboBox1.SelectedIndex = 0;
                     command.CommandType =CommandType.Text;
                    command.Parameters.AddWithValue("@textBox1",textBox1.Text);
                    command.Parameters.AddWithValue("@textBox2", textBox2.Text);
                    command.Parameters.AddWithValue("@dateTimePicker1", dateTimePicker1.Value);
                    command.Parameters.AddWithValue("@textBox8", textBox8.Text);
                    command.Parameters.AddWithValue("@textBox5", textBox5.Text);
                    command.Parameters.AddWithValue("@comboBox1", comboBox1.SelectedValue);
                    command.Parameters.AddWithValue("@comboBox2", comboBox2.SelectedValue);
                    command.Parameters.AddWithValue("@comboBox3", comboBox3.SelectedValue);
                    command.Parameters.AddWithValue("@textBox3", textBox3.Text);
                    command.Parameters.AddWithValue("@textBox6", textBox6.Text);
                    command.Parameters.AddWithValue("@comboBox4", comboBox4.SelectedValue);
                    command.Parameters.AddWithValue("@comboBox5", comboBox5.SelectedValue);
                    command.Parameters.AddWithValue("@comboBox6", comboBox6.SelectedValue);
                    command.Parameters.AddWithValue("@textBox4", textBox4.Text);
                    command.Parameters.AddWithValue("@textBox7", textBox7.Text);
                    command.Connection.Open();
                    command.ExecuteNonQuery();
                    command.Connection.Close(); 
     
                    marequête1 = "insert into SERVICE(Direction,Service,Fonction,Date affectation) values(@textBox9,@ textBox10,@textBox11,@textBox12)";
                    OleDbCommand command1 = new OleDbCommand(marequête1, connection);
                    command1.Connection = connection;
     
                    command1.Parameters.AddWithValue("@textBox9", textBox9.Text);
                    command1.Parameters.AddWithValue("@textBox10", textBox10.Text);
                    command1.Parameters.AddWithValue("@textBox11", textBox11.Text);
                    command1.Parameters.AddWithValue("@textBox12", textBox12.Text);
     
     
                        command1.Connection.Open();
                        command1.ExecuteNonQuery();
     
                    command1.Connection.Close();
     
                    }
     
                    catch (OleDbException ex)
                {
                    MessageBox.Show("Erreur" + ex);
                }
    }
    Remarque : Le nom du paramètre dans la requête doit obligatoirement être identique à celui dans AddWithValue
    L'effort fait les forts

  12. #12
    Membre actif Avatar de stolx_10
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2006
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 374
    Points : 270
    Points
    270
    Par défaut
    C'est très bien comme ça en effet.

    Mais à quoi ça sert de faire des requêtes paramétrées si on ne force pas le type de valeurs lors de l'ajout des paramètres.
    C'est justement l'intérêt des requêtes paramétrées, pouvoir passer en paramètre un type de donnée pour tel champ afin d'éviter des insertions de tout et n'importe quoi (injections SQL par exemple).

    Ou alors le AddWithValue reconnaît directement le type de valeur ? le .Add n'est il pas mieux adapté aux requêtes paramétrées ?

    J'avoue avoir proposé ma méthode qui me semble plus "contrôlable" en terme de données, mais je n'ai jamais utilisé AddWithValue, peut être est ce plus simple ?

  13. #13
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2012
    Messages : 79
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par stolx_10 Voir le message
    C'est très bien comme ça en effet.

    Mais à quoi ça sert de faire des requêtes paramétrées si on ne force pas le type de valeurs lors de l'ajout des paramètres.
    C'est justement l'intérêt des requêtes paramétrées, pouvoir passer en paramètre un type de donnée pour tel champ afin d'éviter des insertions de tout et n'importe quoi (injections SQL par exemple).

    Ou alors le AddWithValue reconnaît directement le type de valeur ? le .Add n'est il pas mieux adapté aux requêtes paramétrées ?

    J'avoue avoir proposé ma méthode qui me semble plus "contrôlable" en terme de données, mais je n'ai jamais utilisé AddWithValue, peut être est ce plus simple ?

    Merci à vous tous mais now j'ai ce problème:Nom : capture.jpg
Affichages : 184
Taille : 206,0 Ko

  14. #14
    Membre actif
    Avatar de didate
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 90
    Points : 238
    Points
    238
    Par défaut
    tu as oublié l'instruction suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    command.Connection = connection;
    Avant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     command.Connection.Open();

    Oubien tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     command = new OleDbCommand(connection);
    L'effort fait les forts

  15. #15
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Citation Envoyé par didate Voir le message
    tu as oublié l'instruction suivante
    Le problème avec la popup d'erreur c'est qu'on suppose vu qu'on ne voit pas l'instanciation de 'OleDbCommand'

  16. #16
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2012
    Messages : 79
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par didate Voir le message
    tu as oublié l'instruction suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    command.Connection = connection;
    Avant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     command.Connection.Open();

    Oubien tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     command = new OleDbCommand(connection);



    j'ai procédé de la sorte Mamadou cette fois j'ai ce message :
    Nom : capture2.png
Affichages : 179
Taille : 22,4 Ko

  17. #17
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Tu instancie deux fois ta variable 'connection' : une fois dans le construteur (méthode 'Form1()') , et une fois au moment de ton click (méthode 'button1_Click(..)) sauf que la deuxième fois tu ne lui donne pas de valeur connectionString.

  18. #18
    Membre actif
    Avatar de didate
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2010
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2010
    Messages : 90
    Points : 238
    Points
    238
    Par défaut
    comme le dit katkiller, tu fais une double instanciation, supprime celle juste après le try (dans button1_Click).
    L'effort fait les forts

  19. #19
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2012
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Niger

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2012
    Messages : 79
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par didate Voir le message
    comme le dit katkiller, tu fais une double instanciation, supprime celle juste après le try (dans button1_Click).

    ça marche!

    Big thanks à vous tous!

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

Discussions similaires

  1. erreur 3134 sur instruction SQL insert into
    Par tiff13 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/02/2010, 11h28
  2. Pb d'écriture intempestive dans table avec SQL insert into
    Par pete_shifter dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 10/11/2005, 11h51
  3. Réponses: 2
    Dernier message: 30/09/2005, 15h41
  4. Multiplier les And dans Sql Insert Into
    Par samlepiratepaddy dans le forum Requêtes et SQL.
    Réponses: 17
    Dernier message: 23/09/2005, 21h55
  5. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38

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