错误号码:134,状态:1,等级:15

时间:2018-05-27 15:42:17

标签: c# sql

我在控制台应用中生成数据并将其插入数据库。

我现在可以生成一行,并且它在数据库中插入没有任何问题。

编辑:我添加了我目前尝试在while循环中使用的代码片段。 编辑2:使用Parameter.Clear解决问题,如下面的评论中所述。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

根据您的上述代码,我假设您的命令未被处理掉,因为您手动处理了连接。所以垃圾收集器还没有清除命令。因此声明了参数变量。如果您修改命令,如下所示:

public void Insert()
{
     using(var connection = new SqlConnection(dbConnection))
     using(var command = new SqlCommand(query, connection))
     {
          connection.Open();
          command.Parameters.AddWithValue("", "");
          command.Params.Add("", SqlDbType.Int, "");
          command.ExecuteNonQuery();
     }
}

然后你会创建你想要的循环,将你想要的任何参数传递给我为了简洁而留空的方法。应该没有问题。

您也可以简单地执行Parameters.Clear()然后阅读它们,以确保命令参数不会已填充。