Npgsql передает параметры по имени в хранимую функцию

2

Я работаю с кодом, который я конвертирую в Pgsql, работающим с .NET. Я хочу вызвать хранимую функцию с несколькими параметрами, но мне нужно привязать параметры по имени:

NpgsqlCommand command = new NpgsqlCommand("\"StoredFunction\"", _Connection)
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("param2", value2);
command.PArameters.Add("param1", value1);

Попытка сделать это пока ищет функцию с типами параметров, совпадающими в том порядке, в котором я добавил параметры в коллекцию, а не по имени.

Возможно ли, чтобы Npgsql связывал параметры с хранимыми функциями по имени?

Теги:
npgsql
stored-functions

2 ответа

3
Лучший ответ

В настоящее время Npgsql не поддерживает параметры прохода по имени. Хотя он поддерживает получение значений параметров по имени.

Не могли бы вы заполнить отчет об ошибке? Поэтому мы можем отслеживать и реализовывать его.

  • 0
    Возникли проблемы с сообщением об этом. Я зарегистрировался на сайте, но сообщение об ошибке не работает.
  • 0
    Не могли бы вы попробовать заполнить отчет об ошибке еще раз. Заранее спасибо.
3

К сожалению, это не работает с процедурой хранилища (CommandType.StoredProcedure).

Он выполняет команду SQL-text (CommandType.Text). Вы можете использовать: paramname, плюс я думаю, что в последней версии вы можете использовать parameters.addwithvalue( ": paramname", param).

Вы также можете использовать @paramname с последней версией (например, MS Sql Server).

Прочтите раздел "Использование параметров в запросе" это руководство для ответа на ваш исходный вопрос - но помните, что я сказал выше облегчите себе жизнь.

  • 1
    тестируя версию Npgsql, доступную в первом квартале 2013 года, я обнаружил, что поставщик поддерживает только передачу параметров позиционного режима в функции на сервере, когда на стороне клиента команда находится в режиме CommandType.StoredProcedure . Порядок, в котором параметры добавляются в коллекцию параметров команды, является порядком, в котором они предоставляются.
  • 0
    Я не тестировал с StoredProcedure, он работает с текстом, хотя.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню