Передача элементов из контрольного списка в таблицу SQL Server

Я пытаюсь взять элементы из списка флажков и добавить их в таблицу 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();
      }
 }

Редактировать: одно из предложенных ниже предложений сработало, но оно вводит идентификатор элемента, а не значение самого элемента списка. Как я могу вставить значение для каждого элемента в списке в таблицу SQL?

1 ответ

Решение

Положить VALUES в парантезе:

"INSERT INTO Boxes (BoxNumber) VALUES (@selected)";

Кроме того, я предполагаю, что вы должны заменить

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

с

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

и вы можете захотеть вставить текст элемента вместо индекса:

command.Parameters.AddWithValue("@selected", listBox.Items[i].ToString());
Другие вопросы по тегам