将数组数据存储到数据库

时间:2011-04-15 16:01:37

标签: c# asp.net arrays

我正在尝试将来自某些数组的数据存储到数据库中,但只存储了数组的最后一个索引。我知道我需要修复循环部分,但我不知道如何。以下是代码。

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];
        }

2 个答案:

答案 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