![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не выполняется запрос к VIEW [D6]
Ольга © (2005-08-01 17:53:00)Есть VIEW rdgreader.getrdg, в SQL Plus запрос к нему работает.
Выбираю данные из программы:
ADOQuery1.SQL.Text:='select * from rdgreader.getrdg where nplan=:np and dt>:beg and dt<=:end)';
ADOQuery1.Parameters.ParamValues['np']:=StrToInt(Edit1.Text);
ADOQuery1.Parameters.ParamValues['beg']:=DateTimePicker1.Date;
ADOQuery1.Parameters.ParamValues['end']:=DateTimePicker2.Date;
ADOQuery1.Open;
выходит ошибка: ORA-00932: inconsistent datatypes
Это что - Оракл не понимает дату DateTimePicker? Может надо как то преобразовать?
ANB (2005-08-02 12:33:00) [1]
> Ольга (01.08.05 18:20) [5]
- сделай через AsString. Или AsDateTime. Преобразование будет автоматическое. Проверь типы параметров.
Ольга (2005-08-01 18:20:00) [2]Ну вот, Оракл у клиента отрубился. Попробую завтра.
На счет каких-либо преобразований - все сложно. Поставили такую задачу: состыковать чужую-1 программу (трогать не моги) с чужой-2 базой (тоже трогать не моги). Приходится "левой ногой чесать правое ухо".
Если завтра не получится, опять буду домогаться, sorry.
Быстрей бы с этим делом закончить и забыть, как страшный сон.
Desdechado (2005-08-01 18:14:00) [3]может, лучше заменить вариантный
ParamValues['beg']
на приведенный к конкретному типу
ParamByName('beg').AsSQLTimeStamp
кстати, типы DateTime и SQLTimeStamp несовместимы, надо преобразование делать
Fay (2005-08-01 18:05:00) [4]2 Ольга (01.08.05 17:53)
Лучше всего преобразовать dbGO в DOA 8)
Fay (2005-08-01 18:01:00) [5]А так ?
ADOQuery1.SQL.Text:='select * from rdgreader.getrdg where nplan=:np and dt > to_date(:beg, 'yyyymmdd') and dt<=to_date(:end, 'yyyymmdd'))';
ADOQuery1.Parameters.ParamValues['np']:=StrToInt(Edit1.Text);
ADOQuery1.Parameters.ParamValues['beg']:=FormatDate(DateTimePicker1.Date, 'yyyymmdd');
ADOQuery1.Parameters.ParamValues['end']:=FormatDate(DateTimePicker2.Date, 'yyyymmdd');
ADOQuery1.Open;
Ega23 (2005-08-01 18:00:00) [6]А как Oracle воспринимает тип datetime? Это я к тому, что у Borland и MS SQL, к примеру, трактовка стартовой даты различается в 2 дня.
Может и с Oracle что-нибудь такое?