Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.07.23;
Скачать: [xml.tar.bz2];

Вниз

в продолжение вчерашней проблемы с 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.011 c
2-1151772908
Gizza
2006-07-01 20:55
2006.07.23
свои кнопки в messagedlg


15-1151307292
worldmen
2006-06-26 11:34
2006.07.23
Excel. Программно окрасить ячейки.


2-1151919786
МишаК
2006-07-03 13:43
2006.07.23
графика в делфи


2-1152111508
AlexanderMS
2006-07-05 18:58
2006.07.23
Время выполнения процедуры


2-1151843884
S-Slim
2006-07-02 16:38
2006.07.23
надо копировать DB файл!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский