C# 将项目从复选框列表传递到SQL Server表

C# 将项目从复选框列表传递到SQL Server表,c#,sql-server,ado.net,webforms,C#,Sql Server,Ado.net,Webforms,我试图从复选框列表中获取项目,并将它们添加到SQL Server表中。我认为这就像循环遍历每个项然后将其插入表一样简单,但我得到了一个未处理的异常,代码如下: using (SqlConnection connection = new SqlConnection(connectionString)) { for (int i = 0; i <= UPCList.Items.Count; i++) { string finalSubmit =

我试图从复选框列表中获取项目,并将它们添加到SQL Server表中。我认为这就像循环遍历每个项然后将其插入表一样简单,但我得到了一个未处理的异常,代码如下:

using (SqlConnection connection = new SqlConnection(connectionString))
{
     for (int i = 0; i <= UPCList.Items.Count; i++)
     {
         string finalSubmit =
              "INSERT INTO Boxes (BoxNumber)"
              + "VALUES @selected";

          SqlCommand command = new SqlCommand(finalSubmit, connection);
          command.Parameters.AddWithValue("@selected", i);
          command.Connection.Open();
          command.ExecuteNonQuery();
          command.Connection.Close();
      }
 }
使用(SqlConnection连接=新的SqlConnection(connectionString))
{

对于(int i=0;i将
值放入:

"INSERT INTO Boxes (BoxNumber) VALUES (@selected)";
另外,我想你必须更换

for (int i = 0; i <= UPCList.Items.Count; i++)

置于以下位置:

"INSERT INTO Boxes (BoxNumber) VALUES (@selected)";
另外,我想你必须更换

for (int i = 0; i <= UPCList.Items.Count; i++)

异常是什么?如果您也想知道确切的错误,我建议您将代码包装在for循环中,围绕一个
try{}catch{}
它不是特定的。只是说未知。异常是什么?如果您也想知道确切的错误,我建议将代码包装在for循环中,围绕一个
try{}catch{}
它不是特定的。只是说未知。这是可行的,但现在它只是将ID放入表中,而不是列表项值。我该怎么做?您的
列表框的数据源是什么?请尝试
命令.Parameters.AddWithValue(@selected),listBox1.Items[I].ToString()
我没有,这很有效!但是,它会添加两次项,就像它会在列表中重复两次一样。我对编程很陌生,所以如果我错过了一些明显的东西,我深表歉意。如果你不介意以答案的形式写出来,我会标记它。@MichaelBowman:为什么两次?我上面的代码只显示了一个循环。这很有效,但现在它只是将ID而不是列表项值放入表中。我如何才能这样做呢?
ListBox
的数据源是什么?请尝试
command.Parameters.AddWithValue(@selected),listBox1.Items[I].ToString()
我没有,这很有效!但是,它会添加两次项,就像它会在列表中重复两次一样。我对编程很陌生,所以如果我错过了一些明显的东西,我深表歉意。如果你不介意以答案的形式写出来,我会标记它。@MichaelBowman:为什么要添加两次?我上面的代码只显示了一个循环。