0

チェックボックスリストから項目を取得して、それらを 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();
      }
 }

編集: 以下の提案の 1 つが機能しましたが、リスト項目自体の値ではなく、項目の ID を入れています。リスト内の各項目の値を SQL テーブルに挿入するにはどうすればよいですか?

4

1 に答える 1

5

かっこ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());
于 2013-07-19T20:12:44.500 に答える