У меня есть база данных Informix, которая предоставляет некоторые хранимые процедуры, у меня есть абстрагированный метод доступа к данным, который обрабатывает связь с ними, но у меня проблема с нулевым значением.
Прямо вы можете позвонить:
execute procedure some_stored_procedure(1,2,NULL,3)
и верните правильные результаты, я бы предпочел, чтобы это поле не обнулялось, но оно не в моих руках. Во всяком случае, я изначально пытался назвать это так:
var command = connection.CreateCommand();
command.CommandType = CommandTypes.StoredProcedure
command.CommandText = "some_stored_procedure"
// Pass in the parameters
Однако это приводит к тому, что Informix выдает синтаксическую ошибку, поэтому вместо этого я был вынужден использовать:
var command = connection.CreateCommand();
command.CommandText = "execute procedure some_stored_procedure(?,?,?,?)";
// Pass in parameters
Что работает, но никогда не возвращает правильные результаты, и если я попытаюсь сделать параметр 3 пустым, это вызовет еще одну синтаксическую ошибку. Я что-то упустил или есть лучший способ вызвать эти хранимые процедуры?