Глюк с параметрами
Уважаемые Метры помогите решить проблему!
Вобщем суть ее такова: Когда я использую Query и хочу передать параметр
получаеться глюк. Вобщем я делаю так. Пишу запрос в Query. и определяю
параметр в зависимости от которой будет делаться выборка данных.
Query.Close;
myparam:=-1;
Query.Open;
Query.Close; // делал также Active:= false true результат тоже
myparam:=1;
Query.Open;
И у меня выводит везде или все значения подряд или параметры токо с 1.
хотя должны вывести сначала с -1 а потом с 1. Когда делаю два отдельных
запроса то все работает.
Как это лечиться. Помогите раозобратьсяю.
С уважением boba
Вобщем суть ее такова: Когда я использую Query и хочу передать параметр
получаеться глюк. Вобщем я делаю так. Пишу запрос в Query. и определяю
параметр в зависимости от которой будет делаться выборка данных.
Query.Close;
myparam:=-1;
Query.Open;
Query.Close; // делал также Active:= false true результат тоже
myparam:=1;
Query.Open;
И у меня выводит везде или все значения подряд или параметры токо с 1.
хотя должны вывести сначала с -1 а потом с 1. Когда делаю два отдельных
запроса то все работает.
Как это лечиться. Помогите раозобратьсяю.
С уважением boba
Комментарии
Query1.Active:=False;
ValMyParam:=1;
Query1.Active:=True;
Если писать напрямую Query1.Params.myParam:=1 не работает.
А вобще я этим никогда не пользуюсь. Я всегда включаю фильтр в текст запроса:
Query1.SQL.Clear;
Query1.SQL.Add('SELECT * FROM Table1 Where Field1='+MyFilterForField1)
z_myparam присвоено значение myparam.
Но всеравно от этого ничо не изменяеться.
_Alexander sobaka ua.fm
Прочитай повнимательнее самый первый пост:
Человек в однм месте присваевает параметр, потом открывает, закрывает запрос, потом опять присваевает , опять открывает )
2 boba:
Покажу тебе на примере стакана:
Как ты думаешь что осталось в стакане ? Прально КВАС !!! А ты сразу хочешь получить 1 стакан водки и 1 стакан кваса - у тебя всего 1 СТАКАН !!!! )
Разрабочики лопухнулись (((
Мне надо было выводить в одной ячейки несколько результатов в зависимости от параметра одного запроса. Так как у меня этого не вышло
потомучто это не было продумано уважаимыми разработчиками, а отчет
у меня было весьма на мал( и именно нельзя было разделять данны, они должны были быть в одной ячейке) то количество запросов у меня выросло в 4 раза и на форме некуда было их даже куда ложить:((((
Как результат отчет работает но на форме немереное количество запросов
которые повторяют себя и отличаються токо именем.
В одной ячейке можно выводить множество параметров. А если хочешь, чтобы выводилось несколько значений, являющихся результатом одного запроса, но с разными значениями параметра, то надо сохранять результаты запроса в переменных или массиве, а потом уже передавать их все сразу в отчет.
Или другой, более грамотный вариант, использовать в запросе конструкцию GROUP BY,
а условие выборки задавать в виде: где MyFilterForField1 - список вида: 'x1,x2,x3,...'
Для того, чтобы пример был осмысленным, добавил в запрос агрегирующие функции.
Fast Report тут вообще не причем! Это принципы программирования.