Проблема с параметром при работе с ораклом
От: programador1  
Дата: 29.02.08 08:08
Оценка:
есть запрос для базы оракл возвращающий число:
string query = "SELECT count(param) FROM .....somefield = ?";
запрос принимает 1 параметр строкового типа (вообще в базе это поле объявлено через varchar2)
command.Parameters.Add("@param", OleDbType.VarChar);
command.Parameters["@param"].Value = Par;
connection.Open();
counter = (int)command.ExecuteScalar();
Получаю ошибку:
specified cast is not valid...
Не понятно в чем проблема. Раньше параметризированные запросы я использовал с sql server — там все просто и все работает. С ораклом же какие-то проблемы..
Re: Проблема с параметром при работе с ораклом
От: Spiceman  
Дата: 29.02.08 08:17
Оценка:
Здравствуйте, programador1, Вы писали:

P>counter = (int)command.ExecuteScalar();


Не знаю наверняка, но может быть запрос вернул DBNull.Value? Тогда действительно будет ошибка "specified cast is not valid".
Re: Проблема с параметром при работе с ораклом
От: _d_m_  
Дата: 29.02.08 09:25
Оценка:
Здравствуйте, programador1, Вы писали:

P>есть запрос для базы оракл возвращающий число:

P>string query = "SELECT count(param) FROM .....somefield = ?";
P>command.Parameters["@param"].Value = Par;

P>Не понятно в чем проблема. Раньше параметризированные запросы я использовал с sql server — там все просто и все работает. С ораклом же какие-то проблемы..


Для MS SQL используются именованные параметры с префиксом @:
SELECT count(param) FROM .....somefield = @param


Для Oracle, кажется так:
SELECT count(param) FROM .....somefield = :param
Re: Проблема с параметром при работе с ораклом
От: Аноним  
Дата: 01.03.08 18:13
Оценка:
Здравствуйте, programador1, Вы писали:

Оракловый varchar2 это OleDbType.NVarChar
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.