使用while循环插入表中

时间:2017-02-09 23:05:21

标签: c# list sqlite insert

我尝试使用while循环从List插入表中。我想循环并通过它的索引从列表中写出每个项目。我在尝试插入的值时收到错误。

" SQL逻辑错误或缺少数据库附近" [y]":语法错误"

while (y < Name.Count)
{
   cmd.CommandText = "INSERT INTO Mytable(Column1,Column2) values(Column1[y], Column2[y])";
   cmd.ExecuteNonQuery();
   y++;
}

2 个答案:

答案 0 :(得分:1)

您的查询不正确。您需要将参数传递给查询:

"INSERT INTO Mytable(Column1,Column2) values(Column1[@Column1], Column2[@Column1])"

command.Parameters.Add( new SqlParameter( "@Column1", y ) );

话虽如此,如果我是你,我会使用Bulk Insert(或类似的东西),并在一次旅行中将所有数据传输到数据库。

答案 1 :(得分:-1)

您的参数Column1 [y]和Column2 [y]不作为数据结构的索引处理,而是作为纯文本处理。

   cmd.CommandText = "INSERT INTO Mytable(Column1,Column2) values(" + Column1[y] + ", " + Column2[y] + ")";