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

Résolu
ericdu93 Messages postés 56 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 28 août 2008 - 23 mars 2008 à 21:08
ericdu93 Messages postés 56 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 28 août 2008 - 28 août 2008 à 18:37
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

ericdu93 Messages postés 56 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 28 août 2008 1
23 mars 2008 à 22:55
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();
2
Moncefj Messages postés 3 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 28 août 2008
28 août 2008 à 10:50
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 
0
ericdu93 Messages postés 56 Date d'inscription dimanche 1 août 2004 Statut Membre Dernière intervention 28 août 2008 1
28 août 2008 à 18:37
ah oui ! Ca doit normalement être possible, j'ai pas testé, mais c'est une bonne idée. A testé !
0
Rejoignez-nous