2011-12-17 3 views
1

J'ai un tableau int avec des valeurs à l'intérieur, et sa taille est inconnue (remplie dynamiquement). Je veux mettre à jour une colonne dans une base de données avec ce tableau (c'est-à-dire que la colonne m du nième enregistrement dans la base de données sera mise à jour avec le nième élément du tableau). Comment puis-je atteindre cet objectif? Dois-je mettre à jour chaque enregistrement de la table dans un sql séparé semblable à la manière suivante:Comment mettre à jour une colonne dans une base de données avec des valeurs de tableau?

for(int i = 0; i < array.Length; i++) 
{ 
    string sqlCommand = "UPDATE TABLENAME SET THECOLUMN = " + array[i] + " WHERE ID = " + (i+1); 
    // Execute the command 
} 

, ou est-il un moyen plus efficace ou simplery de le faire?

PS: J'utilise la base de données ACCESS, le connecter à un site Web (ASP.NET) via C#

Répondre

2

je le ferais dans un aller-retour

StringBuilder command = new StringBuilder(); 
for(int i = 0; i < array.Length; i++) { 
    command.Append("UPDATE TABLENAME SET THECOLUMN = " + array[i] + 
       " WHERE ID = " + (i+1) + ";"); 
} 
// Execute the command HERE 

"Retour et forths" à la base de données sont assez chers, donc vous voulez généralement que vos communications soient "chunky pas bavard".

Questions connexes