#c# #asp.net #oracle #wcf #ado.net
Вопрос:
У меня есть приведенный ниже фрагмент кода
var parametersList = new Listlt;OracleParametergt;(); if (items != null) { foreach (string item in items) { parametersList.Add(new OracleParameter(“@item”, item)); ExecuteQuery(“sp_submitItem”, parametersList); } }
И в методе ExecuteQuery
он перебирает parametersList
и добавляет их в OracleParameterCollection
in OracleCommand
, используя OracleDataAdapter
, он заполняет результат в a DataTable
и возвращает результат.
Как ты думаешь, почему я получаю эту ошибку OracleParameter object is already contained in a collection
Комментарии:
1. Потому что у вас не может быть двух параметров с одинаковым именем. Как определяется идентификатор sp_submitItem?
2. @OldProgrammer что вы имеете в виду, говоря, что у меня не может быть двух параметров с одинаковым именем? Каждый раз, когда цикл повторяется, я передаю один параметр хранимой процедуре, и она выполняется. и sp_submitItem принимает один входной параметр
3. вы продолжаете добавлять один и тот же параметр в список.
4. @OldProgrammer поэтому я думаю, что решением этой проблемы было бы очистить список параметров после того, как я вызову метод ExecuteQuery, правильно?
5. это должно сработать