Enregistrer une list dans une base de données

Résolu
sahliali Messages postés 90 Date d'inscription dimanche 14 septembre 2003 Statut Membre Dernière intervention 3 juillet 2008 - 28 déc. 2005 à 12:23
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 - 29 déc. 2005 à 09:37
salut
je voulais savoir si je peux enregistrer une listarray de 100 élément dans la base de données de la façon suivante
si'il en a une autre façon veuillez me decriver :)
private void Enregistrer_List(ArrayList L)
{
ConnectionString ChaineDeConnection;
SqlConnection ConnectionSql;
SqlCommand InsertCMD;
string Query;
ChaineDeConnection = new ConnectionString();
ConnectionSql = new System.Data.SqlClient.SqlConnection(ChaineDeConnection.GetFromRegistry());
try
{
ConnectionSql.Open();
foreach(string NumCle in L)
{
Query = "insert into CLE(Cle_1) values(@Numcle)";
InsertCMD = new System.Data.SqlClient.SqlCommand(Query,ConnectionSql);
InsertCMD.Parameters.Add("@Numcle",NumCle);
InsertCMD.ExecuteNonQuery();
}
}
catch(Exception e)
{
System.Windows.Forms.MessageBox.Show(e.Message,"Erreur");
}
finally
{
ConnectionSql.Close();
ChaineDeConnection = null;
ConnectionSql = null;
InsertCMD = null;
}

}

1 réponse

cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
29 déc. 2005 à 09:37
Salut,

A priori pour moi y a pas de Pb. Je modifierais juste un tout petit peu la boucle.

Query = "insert into CLE(Cle_1) values(@Numcle)";
InsertCMD = new System.Data.SqlClient.SqlCommand(Query,ConnectionSql);
InsertCMD.Parameters.Add("@Numcle", SqlDbType.Int);
InsertCMD.Prepare();

foreach(string NumCle in L)
{
InsertCMD.Parameters[0].Value = NumCle;
InsertCMD.ExecuteNonQuery();
}

Le mieux ça sera une procédure stockée...

Chris

N'oubliez pas de cloturer votre post.
3
Rejoignez-nous