Supposons que vous souhaitiez parcourir une collection de lignes et que vous souhaitiez toutes les insérer, j'essaierais avec un pseudocode comme celui-ci.
string cmdText = "INSERT INTO MY_INSERT_TEST(Col1, Col2, Col3) VALUES(?, ?, ?)";
using(OdbcConnection cn = getDBConnection())
using(OdbcCommand cmd = new OdbcCommand(cmdText, cn))
{
cn.Open();
cmd.Parameters.AddWithValue("@p1", "");
cmd.Parameters.AddWithValue("@p2", "");
cmd.Parameters.AddWithValue("@p3", "");
foreach(DataRow r in dt.Rows)
{
cmd.Parameters["@p1"].Value = r["Column3"].ToString());
cmd.Parameters["@p2"].Value = r["Column1"].ToString());
cmd.Parameters["@p3"].Value = r["Column2"].ToString());
cmd.ExecuteNonQuery();
}
}
Construisez une requête paramétrée, définissez les paramètres (ici tous les paramètres de type chaîne, doivent être vérifiés) puis bouclez sur les lignes de la table de données en attribuant la valeur des paramètres de la colonne correspondante. Notez que dans le texte de la commande, vous n'écrivez pas directement les valeurs, mais vous placez un espace réservé pour la valeur réelle que vous fournirez dans la boucle.