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

Вниз

О параметрах , о них, противных...   Найти похожие ветки 

 
Malamba   (2003-09-04 10:21) [0]

Помогите, кто сколько может...

Тут кто-кто когда-то говорил, что правильно использовать параметры вместо набивки строки String в запросе SQL =- попробовал.
"Оно может быть и умно, но больно непонятно..."
Вылезает столько разных проблем:

Есть запрос, скажем
SELECT :pName FROM Base WHERE :pName1 = :pName1Value ORDER BY :pOrder;

Смысл ясен? В нем параметры.
Если вместо параметров выполняю

SELECT NameField FROM Base WHERE NameField = :pName1Value ORDER BY NameField;

- то есть указываю настоящие значения полей, то все выполняется.
КАк только ставлю параметр после ORDER BY или после SELECT - эта мерзость выдает к-во записей - 0.

Свойста параметров выставлены корректно - String, String ( ну и на всякий случай тип параметра - Input).

Использую BDE и Paradox.
А может в консерватории что-то поправить?


 
stone   (2003-09-04 10:23) [1]

В данном случае в качестве параметра можно указать только = :pName1Value


 
Smashich   (2003-09-04 10:25) [2]

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


 
Nikolay M.   (2003-09-04 10:26) [3]


> А может в консерватории что-то поправить?

Точно!

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


 
Malamba   (2003-09-04 10:42) [4]

А у Архангельского (Программирование в Delphi 6) написано, что параметрами могут быть названия таблиц, полей и их значения.
Хотя сам, противный, параметры вместо названий полй в своих примерах не использвовал.
НО что же тогда делатьь- тогда на каждый чих наберется столько Query !!!

Я например, раньше просто набивалд строку String в SQL сам программно. И обходился двумя Query.


 
Zacho   (2003-09-04 10:49) [5]


> Malamba (04.09.03 10:42) [4]
> НО что же тогда делатьь- тогда на каждый чих наберется
> столько Query !!!

А это уж сам смотри, что тебе лучше - куча Query и немного простого кода, или пара Query и куча кода :)


 
Malamba   (2003-09-04 10:53) [6]

Так и быть, уговорили.

А что такое, не к ночи будь сказано "макро-подстановки в RxQuery".

В Helpe ничего подобного нетути. Может есть ссылка?


 
Nikolay M.   (2003-09-04 11:14) [7]


> А что такое, не к ночи будь сказано "макро-подстановки
> в RxQuery".

В библиотеке RxLib есть компонент TRxQuery, поддерживающий макросы в том виде, как ты это написал в первом посте.
Т.е. в свойстве SQL можно написать:
SELECT %FIELD_NAMES% FROM %TABLE_NAME% ORDER BY %ORDER_FIELD%
после чего подставлять вместо %FIELD_NAMES%, %TABLE_NAME%, %ORDER_FIELD% любые строки. Запрос по шаблону, так сказать...


 
Sergey13   (2003-09-04 11:38) [8]

2Malamba (04.09.03 10:42) [4]
>А у Архангельского
Он не то чтобы не прав. 8-) Это зависит от компонентов доступа. Например в DOA для Оракла такое можно делать. Про имя таблицы не пробовал но поля можно и переменными задавать.



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

Форум: "Базы";
Текущий архив: 2003.09.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
7-82509
Sashko
2003-07-14 16:02
2003.09.25
Доступ к CD-ROM


3-82109
Andrey-kor
2003-09-06 18:12
2003.09.25
Переиндексация dbf-файлов в Delphi


1-82173
SH
2003-09-15 19:19
2003.09.25
Рисуем...


14-82394
Vlad Oshin
2003-09-04 17:50
2003.09.25
Флейм. Сигареты легкие или тяжелые?


14-82403
Karnegi
2003-09-04 12:26
2003.09.25
Помогите с филтрацией по двум критериям





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