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

Вниз

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

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
4-82563
Igor__
2003-07-20 17:27
2003.09.25
SetDIBits + 256 цветов = нехорошо


14-82464
Marser
2003-09-07 17:04
2003.09.25
Что такое WinAPI?


1-82307
ikivio
2003-09-13 21:01
2003.09.25
Проблемы с SW_RESTORE.


14-82429
wnew
2003-09-07 22:27
2003.09.25
Российское гражданство.


6-82361
aach_ua
2003-07-26 19:41
2003.09.25
Правильно обновлять прогу через инет