У меня есть хранимая процедура, которая принимает 3 параметра: назовем их @a,@b,@c
и все они являются необязательными.Сохраненная процедура с 2 параметрами
В хранимой процедуре они определяются с следующим порядком: @a,@b,@c
На основе моих исследований до сих пор, из кода .NET я должен быть в состоянии назвать их в любом порядке:
Например:
.Add(New OleDbParameter("@c", OleDbType.Integer, 4, ParameterDirection.Input, False, 0, 0, "c", DataRowVersion.Current, c))
.Add(New OleDbParameter("@a", OleDbType.Integer, 4, ParameterDirection.Input, False, 0, 0, "a", DataRowVersion.Current, a))
Но когда я это делаю, хранимая процедура все еще думает, что пройденное значение 1 равно а, а второе значение - c.
Что здесь не так?
Используете ли вы SQL Server или некоторые другие СУБД? Вопрос помечен как «sql-server», но я смущен, потому что вижу, что вы используете объект «OleDbParameter». Если вы используете SQL Server, то вместо этого вы должны использовать оптимизированный объект 'SqlParameter'. –
Это SQL Server –
Да, старый код, который использует устаревшую технологию OLe DB –