Порядок параметров OleDbCommand и приоритет

Попробуйте

var it = GetTheNestedCase();
return it.SelectMany(x => x);

, SelectMany является преобразованием LINQ, которое по существу говорит "Для Каждого Объекта в возврате набора элементы набора". Это превратит один элемент во многих (следовательно SelectMany). Это является большим для разрушения наборов наборов в плоский список.

16
задан 0xFF 25 September 2009 в 11:33
поделиться

3 ответа

Согласно http://msdn.microsoft.com/en-us/library/system.data.oledb.oledbcommand.parameters.aspx OleDbCommand не поддерживает именованные параметр

Поставщик OLE DB .NET не поддерживает именованные параметры для передачи параметров в инструкцию SQL или хранимую процедуру, вызываемую OleDbCommand, когда для CommandType задано значение Text. В этом случае необходимо использовать вопросительный знак (?). Например:

SELECT * FROM Customers WHERE CustomerID = ?

Следовательно, порядок, в котором объекты OleDbParameter добавляются в OleDbParameterCollection, должен напрямую соответствовать положению заполнителя вопросительного знака для параметра в тексте команды.

Поэтому порядок параметров важен.

29
ответ дан 30 November 2019 в 17:28
поделиться

Если я правильно помню, если OleDbCommand в ADO.NET функционирует аналогично более старым библиотекам / библиотекам ADO (используемым в VB6, VBA и т. Д.), То параметр Коллекция не определяет параметры по имени, а только по положению в коллекции. Похоже, именно такое поведение вы испытываете.

3
ответ дан 30 November 2019 в 17:28
поделиться

Не положительно, но похоже, что ваши параметры не добавляются в той же последовательности или же именованные значения, что и их «@» аналоги запроса ...

@id,
@dtDebut 
then
@dateTraitementFin
0
ответ дан 30 November 2019 в 17:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: