Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.015 c
14-82393
lipskiy
2003-09-01 17:14
2003.09.25
Для желающих потестировать.


4-82539
Mantic0re
2003-07-22 13:07
2003.09.25
Обработка фокуса ..


4-82564
mox
2003-07-21 22:09
2003.09.25
WM_GETTEXT


14-82404
Soft
2003-09-04 11:30
2003.09.25
Для кого хакеры наибольшая опасность в жизни?


7-82507
Opryshok
2003-07-16 16:32
2003.09.25
как сделать TryIcon и Menu для TryIcon?




   Наверх