![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Непонятки с IN в динамическом SQL-е [D5, MSSQL]
Валерий © (2005-08-11 14:10:00)Query1.SQL.Add(' where field1=1 or field1=2') - работает,
а если Query1.SQL.Add (' where field1 in (1,2)') - после Query.Open Дельфи выдает ошибку:
exception class EDBEnjineError : Capability not Supported (возможность не поддерживается)
Если поставить в Query1 RequestLive :=False ошибка изчезает, фильтр работает.
Но в другой проге у меня RequestLive :=True и IN срабатывает после изменения SQL.Text и открытия Query !?
Уважаемые знатоки, объясните пожалуйста смысл этой ошибки и как ее избежать.
Anatoly Podgoretsky (2005-08-11 19:46:00) [1]но продолжали жрать BDE, ODBC
Fay (2005-08-11 19:35:00) [2]2 Валерий (11.08.05 17:00) [7]
>> Это шестая прога сделанная с BDE , ODBC, SQL7 на D5
Мыши плакали, кололись...
Валерий (2005-08-11 17:34:00) [3]Запрос в query тривиальный:
select oper_date, oper_acc_key, oper_type, oper_vid, oper_summ, account_summ, oper_login, oper_datetime, oper_note from oper
Перед открытием к нему добавляется where oper_vid in (2,4,5) - не работает
А если добавить например where oper_vid = 2 - все OK
ANB (2005-08-11 17:02:00) [4]
> Валерий (11.08.05 17:00) [7]
- дык надо весь запрос смотреть.
Валерий (2005-08-11 17:00:00) [5]Это весь код. В событии onShow формы.
Это шестая прога сделанная с BDE , ODBC, SQL7 на D5.
Раньше с IN проблем не было, да и сейчас нет когда в старых прогах в отладчике смотрю подобные места.
Почему в этой проге IN работает только если в Query поставить RequestLive=False???
ANB (2005-08-11 16:50:00) [6]А код полностью ? Вообще, лучше на ADO перейди.
Валерий (2005-08-11 15:30:00) [7]QryOper.SQL.Add(' where oper_vid =1') ; // работает
//QryOper.SQL.Add(' where oper_vid in (1)') ; // не работает
QryOper.Open;
ANB (2005-08-11 15:25:00) [8]
> Валерий (11.08.05 15:10) [3]
Намеков не понимаешь. Пости код.
Валерий (2005-08-11 15:10:00) [9]В том то и дело, что BDE одно и то-же (обе проги на одном компе)
sniknik (2005-08-11 14:38:00) [10]версии BDE сравни... а после сравнения выкини его и не используй для MSSQL.
ANB (2005-08-11 14:26:00) [11]
> Валерий (11.08.05 14:10)
- в 17 строке ошибка.