Передача элементов из контрольного списка в таблицу 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());