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

Вниз

Параметры в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.777 c
3-1096400500
Вадим
2004-09-28 23:41
2004.10.24
Сохранность данных


3-1095964823
Abuzer
2004-09-23 22:40
2004.10.24
RecNoв чем проблема?


1-1097235049
Cosinus
2004-10-08 15:30
2004.10.24
StringGrid и пунктир if gdFocused (DrawFocusRect)?


4-1095587536
HDD
2004-09-19 13:52
2004.10.24
серийный номер


1-1097590259
Expl
2004-10-12 18:10
2004.10.24
файл hlp на русском языке





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский