Exécuter plusieurs requêtes d'insertion [débutant] [Résolu]

Signaler
Messages postés
56
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
28 août 2008
-
Messages postés
56
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
28 août 2008
-
Bonjour,

j'aimerai exécuter plusieurs requête à la suite, dans le code ci-dessous, j'ai essayé en passant les différentes requêtes dans le premier paramètre de la classe OleDbCommand mais j'obtiens comme erreur:
Caractères trouvés après la fin de l'instruction SQL
Je comprend par là que je n'ai pas le droit de faire ça, dans ce cas comment faire ?

            String urlConnectBdd = Application.StartupPath + @"\Adresse.mdb";
            OleDbConnection myConnectAdresse = new OleDbConnection();
            try
            {

                myConnectAdresse.ConnectionString = "Provider=microsoft.jet.oledb.4.0;Data Source=" + urlConnectBdd + ";";
                myConnectAdresse.Open();
               
                String requete1 = "INSERT INTO ...;";
                String requete2 = "INSERT INTO...;";
               
                OleDbCommand myCommandAdresse = new OleDbCommand(requete1 , myConnectAdresse);
                myCommandAdresse.ExecuteNonQuery();
               
                MessageBox.Show("Importation avec succès");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                myConnectAdresse.Close();
            }

Merci d'avance.

3 réponses

Messages postés
56
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
28 août 2008
1
C'est résolé, il suffit de créer l'objet OLEDbCommand avec différents nom:

OleDbCommand myCommandAdresse1 = new OleDbCommand(requete1 , myConnectAdresse);
                myCommandAdresse.ExecuteNonQuery();

OleDbCommand myCommandAdresse2 = new OleDbCommand(requete1 , myConnectAdresse);
                myCommandAdresse.ExecuteNonQuery();

OleDbCommand myCommandAdresse3 = new OleDbCommand(requete1 , myConnectAdresse);
                myCommandAdresse.ExecuteNonQuery();
Messages postés
3
Date d'inscription
jeudi 26 juillet 2007
Statut
Membre
Dernière intervention
28 août 2008

Bonjour,
Je suis aussi debutant en C#, mais on peut concatener tous le insert dans une meme string non ?
String requete ="insert into ...;"+""insert into ...;"+"insert into ..."
Puis on execute avec un seul OLEDbCommand !
Amicalement Moncef 
Messages postés
56
Date d'inscription
dimanche 1 août 2004
Statut
Membre
Dernière intervention
28 août 2008
1
ah oui ! Ca doit normalement être possible, j'ai pas testé, mais c'est une bonne idée. A testé !