我正在尝试将来自某些数组的数据存储到数据库中,但只存储了数组的最后一个索引。我知道我需要修复循环部分,但我不知道如何。以下是代码。
for (int i = 0; i < 5; i++)
{
cmd.Parameters["Mon1"].Value = newTA.MonAry[i];
cmd.Parameters["Tue1"].Value = newTA.TueAry[i];
cmd.Parameters["Wed1"].Value = newTA.WedAry[i];
cmd.Parameters["Thu1"].Value = newTA.ThuAry[i];
cmd.Parameters["Fri1"].Value = newTA.FriAry[i];
}
答案 0 :(得分:4)
您需要在循环内创建并执行命令:
for (int i = 0; i < 5; i++)
{
using (var conn = new SqlConnection("Some Connection String"))
using (var cmd = conn.CreateCommand())
{
conn.Open();
cmd.CommandText = "INSERT INTO foo (...) VALUES (...)";
cmd.Parameters["Mon1"].Value = newTA.MonAry[i];
cmd.Parameters["Tue1"].Value = newTA.TueAry[i];
cmd.Parameters["Wed1"].Value = newTA.WedAry[i];
cmd.Parameters["Thu1"].Value = newTA.ThuAry[i];
cmd.Parameters["Fri1"].Value = newTA.FriAry[i];
cmd.ExecuteNonQuery();
}
}
答案 1 :(得分:1)
如果您正在使用sqlserver,那么您可以将其作为表类型参数传递,以便可以插入多行see this link