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

Вниз

Параметры в TADOQuery   Найти похожие ветки 

 
msguns   (2004-09-27 12:33) [0]

Имеется
 Гл.таблица (adoT:TADOQuery)
 Подчиненная  (adoTb1:TADOQuery)
    SQL:
      SELECT * FROM FondParts
      WHERE FID=:pfid
    Parameters:
      pfid (UID связки с главной тб.)

 при переоткрытии или навигации по главной  делается переоткрытие подчиненной

function TfrmDB.ReOpen_Parts: boolean;
begin
 result := true;
 with adoqParts do
   try
    if not Active then Close;
    Parameters.ParamValues["pfid"] := adoqFonds.FieldByName("FID").Value;
    if Tag>0 then Locate("PartID",Tag,[]);
   except
     result := false;
   end;
end;


В результате в рез.курсор не попадает ничего. Если же вместо
параметричского запроса влепить тупо
    SQL[1] := "  WHERE FID="+VarToStr(adoqFonds.FieldByName("FID").Value);
 то все пляшет.

Впервые сталкиваюсь с ADO (условия постановки, т.к. БД аксес),
чего-то не понимаю, хотя хелпы перечитал, в т.ч. и то, что нетути у ADO прямого преобразования значений филдов As..
 Помогите, пожалуйста, неграмотному ;))


 
Vlad ©   (2004-09-27 12:40) [1]

У параметров св-во DataType, Direction установлено?
p.s. а это для чего?

>     if not Active then Close;

?


 
msguns   (2004-09-27 12:40) [2]

Пардон, там опущен Open (просто пропала строка при правке постинга), который, конечно же, присутствует в коде.


 
msguns   (2004-09-27 12:45) [3]

>Vlad ©   (27.09.04 12:40) [1]
>У параметров св-во DataType, Direction установлено?
 Да

>p.s. а это для чего?
>     if not Active then Close;

Это для того, чтобы одной процей переоткрывать запрос ВО ВСЕХ СЛУЧАЯХ, в.ч. и тогда, когда меняется сортировка или условия выборки. А вообще-то это у меня интербэйсовая привычка ;)


 
Johnmen ©   (2004-09-27 12:45) [4]

>msguns  

Для подчиненного запроса просто указать DataSource на первый.
И WHERE FID=:<имя поля связки из первого запроса>


 
Vlad ©   (2004-09-27 12:47) [5]


> Это для того, чтобы одной процей переоткрывать запрос ВО
> ВСЕХ СЛУЧАЯХ

или я еще не проснулся или.....
if Active then Close - может так все-таки?


 
msguns   (2004-09-27 12:50) [6]

>Johnmen ©   (27.09.04 12:45) [4]
>Для подчиненного запроса просто указать DataSource на первый.

Это, конечно, сразу напрашивается ;)) Но не получается. Во-первых, потому что понятие "Главный-Подчиненный" в моем случае очень условное (я выполняю слияние и ремонт 2-х версий одной БД) т.е. в Гл.таблице может быть 2 и более записей с одним FID), а во-вторых, хотелось бы все же разобраться в этими параметрами и филдами (в смысле Адошными)


 
msguns   (2004-09-27 12:52) [7]

>Vlad ©   (27.09.04 12:47) [5]
>или я еще не проснулся или.....
if Active then Close - может так все-таки?

Батюшки-святы !!!!!!!!!

Блин, вот что значит работать с 8 утра. Спасибо и вопрос закрыт
И посыпаю пеплом свою седеющую лысину....



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
1-1097130242
serg!
2004-10-07 10:24
2004.10.24
Длина строки в RxRichEdit


4-1095402250
_TEST_
2004-09-17 10:24
2004.10.24
Термировать процесс


3-1096004710
janb
2004-09-24 09:45
2004.10.24
Помогите с расчетами!!!


4-1095487425
kukuikar
2004-09-18 10:03
2004.10.24
ExtractIcon


14-1096264817
Slavian
2004-09-27 10:00
2004.10.24
Вирус?