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

Вниз

Parameter bbb_id not found   Найти похожие ветки 

 
Pavlov ©   (2009-05-12 15:58) [0]

with DataModule1.IBQuery do
 begin
     SQL.Clear;
     SQL.Add(" select aaa_id FROM Table1 left join Table2 on  Table1.bbb_id= Table2.bbb_ID "+
             " where Table2.ccc_id = : ccc_ID   and   Table2.bbb_id = : bbb_ID");
     ParamByName("bbb_ID").AsInteger := 452559; //
     ParamByName("ccc_ID").AsInteger := 9958; //
     Open;
     aaa_ID := FieldByName("aaa_id").AsInteger;
     Close;
 end;

Почему-то выдает ошибку  Parameter bbb_id not found.
Пробовал запрос в IBExpert, там все работает.


 
Ega23 ©   (2009-05-12 17:18) [1]

1. DataModule1.IBQuery.ParamCheck чему равно?
2. А зачем так, если каждый раз один фиг текст запроса задаёшь? Не проще ли значение параметра сразу задавать?
3. Пока писал, увидел. Перепиши так:
" where Table2.ccc_id=:ccc_ID and Table2.bbb_id=:bbb_ID");


 
Медвежонок Пятачок ©   (2009-05-12 17:18) [2]

пробел убери


 
Palladin ©   (2009-05-12 19:42) [3]

Удалено модератором


 
Petr V. Abramov ©   (2009-05-13 00:16) [4]


> Ega23 ©   (12.05.09 17:18) [1]


> 3.

да

> 2. А зачем так, если каждый раз один фиг текст запроса задаёшь?
>  Не проще ли значение параметра сразу задавать?

не всегда проще. в некоторых субд :) запрос кешируется на сервере во избежании парсинга и оптимизации, и при явном задавании параметров перерасход памяти будет.


 
Игорь Шевченко ©   (2009-05-13 00:51) [5]

Petr V. Abramov ©   (13.05.09 00:16) [4]

В Интербейзе вроде не кешируется


 
Германн ©   (2009-05-13 01:11) [6]

Я бы всё-таки обратил ещё раз внимание на первый вопрос от "Ega23 ©   (12.05.09 17:18) [1]".
Уж очень часто (а я очень редко работаю с БД) возникают такие вопросы.


 
Ega23 ©   (2009-05-13 10:10) [7]


> не всегда проще. в некоторых субд :) запрос кешируется на
> сервере во избежании парсинга и оптимизации, и при явном
> задавании параметров перерасход памяти будет.


Тогда задай текст один раз, создай параметры, выполни ему Prepare, и потом работай, подставляя значения параметров. Нафига каждый раз текст менять?
И, эта... Это ну ОЧЕНЬ вумная СУБД должна быть, чтобы вот так вот данный запрос распознать.


 
Игорь Шевченко ©   (2009-05-13 12:29) [8]


> Это ну ОЧЕНЬ вумная СУБД должна быть, чтобы вот так вот
> данный запрос распознать


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



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

Форум: "Начинающим";
Текущий архив: 2009.06.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.006 c
15-1239906098
Kolan
2009-04-16 22:21
2009.06.28
«Интерфейс пользователя» → Инфоскроллер


4-1212063238
dev
2008-05-29 16:13
2009.06.28
кнопка с иконкой


3-1222849323
Александр999
2008-10-01 12:22
2009.06.28
Проверка на существование БД перед запуском приложения


10-1158561582
silversmith
2006-09-18 10:39
2009.06.28
Печать документа через Word


2-1241718057
Dimko_0
2009-05-07 21:40
2009.06.28
Как выполнить вызов функции из исполняемого файла по ее адресу?





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