Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

О параметрах , о них, противных... [D6, Paradox, Access]


Malamba ©   (2003-09-04 10:21:00) 

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

Тут кто-кто когда-то говорил, что правильно использовать параметры вместо набивки строки 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.
А может в консерватории что-то поправить?


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

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


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


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

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


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

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

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

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


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


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

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


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

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

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


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


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

Точно!

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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо