Exécuter plusieurs requêtes parémétrées dans une même transaction
Bonjour,
je suis coincé pour exécuter une série de requête INSERT dans une boucle et je passe par des requêtes paramétrées.
Alors quand je teste sans les paramètres ça passe mais avec non ou bien une seul commande isert ça passe
voici un extrait du code :
Code:
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
|
bool resultat = false;
SqlCommand cmd2;
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = "";
string sql = "";
foreach (Pole UnPole in ListePole)
{
sql += "INSERT INTO guides_poles (gup_gui_id, gup_pol_id) VALUES (@gup_gui_id, @gup_pol_id);";
cmd2 = new SqlCommand();
cmd2.CommandType = CommandType.Text;
cmd2.CommandText = sql;
// Création et déclaration des paramètres
cmd2.Parameters.Add(new SqlParameter("@gup_gui_id", System.Data.SqlDbType.Int));
cmd2.Parameters.Add(new SqlParameter("@gup_pol_id", System.Data.SqlDbType.Int));
// Attribution des valeurs aux paramètres
cmd2.Parameters["@gup_gui_id"].Value = UnGuide.gui_id;
cmd2.Parameters["@gup_pol_id"].Value = UnPole.pol_id;
cmd.CommandText += cmd2.CommandText;
}
try
{
cmd.Connection = Connexion.Instance.getConnexion();
cmd.Connection.Open();
cmd.ExecuteNonQuery();
resultat = true;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
System.Diagnostics.Debug.Print("Erreur SQL");
}
finally
{
cmd.Connection.Close();
}... |
donc je voudrais appeler cmd.CommandText une seul fois
est ce que vous voyez ce qui ne va pas?
merci d'avance.