Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.23;
Скачать: CL | DM;

Вниз

в продолжение вчерашней проблемы с ADO   Найти похожие ветки 

 
stud ©   (2006-05-19 13:20) [0]

теперь делаю так, кидаю на форму ADODataset в св-во commandtext прописываю:
SELECT DISTINCT client.client_type, client.client_id, client.inn, client.kpp, client_person.passer, client_person.pasnum,
 sub_type = case when client.client_type = "Ф" then client_person.sub_type  else client_company.sub_type end,
 case client.client_type  when "Ю" then isnull((select client_company.shortname from client_company where client_company.client_id=client.client_id),client.name)
 else client.name end as name,  account.account, account.acc_id
 FROM client
 left join client_person on client.client_id = client_person.client_id
 left join client_company on client.client_id = client_company.client_id
 left outer join account on client.client_id=account.client_id
 where (upper(client.name) like :cl_n)

при установке св-ва active в true получаю сообщение:
multi-step OLEDB operation generated. check each oledb status value, if available.
по описанию ошибки в инете ничего не нашел.


 
Desdechado ©   (2006-05-19 13:23) [1]

не хочешь case в скобки взять?


 
stud ©   (2006-05-19 13:29) [2]

в аналайзере этот эапрос работает и раньше он работал.
просто я его решил формировать динамически во время выполнения программы, когда не получилось, решил вернуть все взад и тут начались эти чудеса. иногда вплоть до ошибки в ntdll я уж не знаю что думать, может с дельфями плохо стало??


 
stud ©   (2006-05-19 13:38) [3]

с первой ошибкой вроде разрулилось, после изменения запроса не удалился один параметр. удалил его из parameters запрос отработал.
теперь к этом запросу добавляю строку
and (account.account like :acc) при попытке открыть - полчаю ошибку в ntdll.dll
меняю строку на
and (account.account =:acc) выдает ошибку AV в модуле msado15.dll
что это может значать???


 
Desdechado ©   (2006-05-19 13:56) [4]

по аналогии с решением предыдущей проблемы - а не забыл ли добавить новый параметр?
может, лучше paramCheck=True сделать?


 
stud ©   (2006-05-19 14:01) [5]


> paramCheck=True сделать

сделан.
параметры теперь сам проверяю и значения по умолчанию присваиваю сразу.
смущает что при редактировании commandtext при добавлении/удалении параметров получаю AV. а когда была строка вида
account=:acc od :acc=0 в список параметров добавлялось два параметра: :acc, :acc=0


 
vovnuke ©   (2006-05-19 14:15) [6]

2 [5] stud ©   (19.05.06 14:01)
> account=:acc od :acc=0
замени на "account = :acc or 0 = :acc"
но параметров добавится все равно два :acc и :acc


 
stud ©   (2006-05-19 14:22) [7]

похоже всетаки с дельфями что-то стало((


 
ЮЮ ©   (2006-05-20 12:25) [8]

account=:acc od :acc=0 в список параметров добавлялось два параметра: :acc, :acc=0

Наверное, разработчики зпложились на "стильное" написание текста запроса.
а если так:

(account = :acc) or (:acc = 0) ?


 
sniknik ©   (2006-05-20 13:04) [9]

> (account = :acc) or (:acc = 0) ?
двух одноименных параметров в ADO не допускается.


 
sniknik ©   (2006-05-20 13:33) [10]

> двух одноименных параметров в ADO не допускается.
вернее, нет того эффекта который ожидают по аналогии с BDE где разовое присваивание значения по имени инициализирует все одноименные.

так то сделать можно сколько угодно одноименных, но доступ к ним будет затруднен (только по индексу/порядковому номеру, и инициализировать все одно каждый).



Страницы: 1 вся ветка

Текущий архив: 2006.07.23;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.027 c
2-1152105049
XTD
2006-07-05 17:10
2006.07.23
Код пробела?


15-1151242133
dmitry99
2006-06-25 17:28
2006.07.23
Новосибирску 113 лет!


2-1151955885
ronyn
2006-07-03 23:44
2006.07.23
IP+-


2-1151664724
FFFF
2006-06-30 14:52
2006.07.23
Поис в поле формы


1-1149496141
DelphiLexx
2006-06-05 12:29
2006.07.23
В OnCreate формы запретить отображение этой формы