将项目从checkboxlist传递到SQL Server表

Mic*_*man 0 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 =
              "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();
      }
 }
Run Code Online (Sandbox Code Playgroud)

编辑:下面的建议之一有效,但它放入项目的ID而不是列表项本身的值.如何将列表中每个项的值插入SQL表?

Tim*_*ter 5

放入VALUESparanthesis:

"INSERT INTO Boxes (BoxNumber) VALUES (@selected)";
Run Code Online (Sandbox Code Playgroud)

另外,我假设你必须更换

for (int i = 0; i <= UPCList.Items.Count; i++)
Run Code Online (Sandbox Code Playgroud)

for (int i = 0; i < UPCList.Items.Count; i++)
Run Code Online (Sandbox Code Playgroud)

并且您可能希望插入项目的文本而不是索引:

command.Parameters.AddWithValue("@selected", listBox.Items[i].ToString());
Run Code Online (Sandbox Code Playgroud)