存储数组数据到数据库

本文关键字:数据库 数据 数组 存储 | 更新日期: 2023-09-27 17:50:29

我试图将一些数组中的数据存储到数据库中,但仅存储了数组的最后一个索引。我知道我需要修复循环部分,但我不知道怎么做。代码如下:

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

存储数组数据到数据库

您需要在循环中创建并执行命令:

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();
    }
}

如果您正在使用sqlserver,那么您可以将此作为表类型参数传递,以便可以插入多行,参见此链接