Получить выходной параметр оракула с помощью OracleCommand - PullRequest
1 голос
/ 29 февраля 2012

У меня есть хранимая процедура оракула, которая будет возвращать значение. Мне нужно получить значение OUTPUT в моей программе на C #. Мне нужно знать, как мы можем получить параметр OUTPUT, используя метод AddCithValue OracleCommands.

Я написал так:

 OracleCommand Ocmd = new OracleCommand(_StoredProcedure, OraCon);
    Ocmd.CommandType = CommandType.StoredProcedure;


            Ocmd.Parameters.AddWithValue("Filed1", "Value1");

            Ocmd.Parameters.AddWithValue("OUTPUTParam","").Direction = ParameterDirection.Output;

    OraCon.Open();
    int RecivedDetID = Ocmd.ExecuteNonQuery();
    OraCon.Close();

    return Ocmd.Parameters[_OutParam].Value.ToString();

Я знаю, что OUTPUTPARAm, как я звонил, неправильно. Как я могу добиться этого с помощью AddWithValue метод OracleCommand. Я не хочу использовать метод OracleCommands Add, где нам нужно также указать тип.

1 Ответ

5 голосов
/ 29 февраля 2012

Убедитесь, что вы установили свойство SIZE для параметра перед выполнением.С выходными параметрами в Oracle указанный размер действует как буфер.Если буфер не установлен, он равен 0, поэтому вы не получите значение из базы данных.

var param = Ocmd.Parameters.AddWithValue("OUTPUTParam","").Direction = ParameterDirection.Output;
param.Size = 255;

Остальное хорошо!

...