Enregistrer une list dans une base de données [Résolu]

Signaler
Messages postés
90
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
3 juillet 2008
-
Messages postés
318
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 décembre 2005
-
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

Messages postés
318
Date d'inscription
jeudi 30 janvier 2003
Statut
Membre
Dernière intervention
30 décembre 2005

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.