Předpokládejme, že chcete procházet sbírkou řádků a chcete je vložit všechny, pak bych to zkusil s pseudokódem, jako je tento.
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();
}
}
Sestavte parametrizovaný dotaz, definujte parametry (zde jsou všechny parametry typu řetězec, které je třeba zkontrolovat) a poté smyčkou přes řádky datové tabulky přiřaďte hodnotu parametrů z odpovídajícího sloupce. Všimněte si, že do textu příkazu nepíšete přímo hodnoty, ale vložíte zástupný symbol pro skutečnou hodnotu, kterou zadáte do smyčky.