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

Вниз

Статический и динамический запросы   Найти похожие ветки 

 
Kley   (2007-04-12 21:00) [0]

Здравствуйте подскажите плиз
На форме есть PageControl с двумя TabSheet на которых лежит по DbGridEh
связанные с datamodule1.PrihodQuery. на открытие первого TabSheet выполняется статический запрос
со следующими параметрами:
procedure TForm2.sTabSheet1Show(Sender: TObject);
begin
Screen.Cursor := crHourGlass;
datamodule1.PrihodQuery.Parameters.ParamByName("D").Value:="01.01."+idag;
datamodule1.PrihodQuery.Parameters.ParamByName("D1").Value:= datetostr (Date);
datamodule1.PrihodQuery.Parameters.ParamByName("A").Value:=2;
datamodule1.PrihodQuery.Parameters.ParamByName("S").Value:=100;
datamodule1.PrihodQuery.Parameters.ParamByName("F").Value:=0;
datamodule1.PrihodQuery.Parameters.ParamByName("F1").Value:=1;
datamodule1.PrihodQuery.Open;
datamodule1.PrihodQuery.Requery;
Screen.Cursor := crDefault;
end;
на открытие второго TabSheet выполняется динамический запрос следующего вида:
procedure TForm2.sTabSheet2Show(Sender: TObject);
begin
Screen.Cursor := crHourGlass;
datamodule1.PrihodQuery.Close;
datamodule1.PrihodQuery.SQL.Clear;
datamodule1.PrihodQuery.SQL.Add("select *");
datamodule1.PrihodQuery.SQL.Add("from prihodz WHERE DATEX>=:D3 AND DATEX<=:D4 and ACTIONX=2 AND S1>SOPLATA");
datamodule1.PrihodQuery.Parameters.ParamByName("D3").Value:=sdateedit1.Date;
datamodule1.PrihodQuery.Parameters.ParamByName("D4").Value:=sdateedit2.Date;
datamodule1.PrihodQuery.Open;
Screen.Cursor := crDefault;
end;
после открытия второго TabSheet прехожу на первый TabSheet возникает ошибка -не найден параметр D
как с этим бороться?


 
Desdechado ©   (2007-04-12 21:05) [1]

Ну так у тебя используется один и тот же компонент datamodule1.PrihodQuery, текст запроса в котором затирается второй закладкой. Естественно, на первой уже ничего сделать нельзя.

ЗЫ Вместо вот этого "01.01."+idag, datetostr (Date) используй нормальные "дата"-значения, а не строки. Тем более раз параметры используешь.


 
Johnmen ©   (2007-04-12 21:31) [2]


> datamodule1.PrihodQuery.Requery;

А это зачем после Open?


 
Kley   (2007-04-12 21:32) [3]

>>Ну так у тебя используется один и тот же компонент >>datamodule1.PrihodQuery, текст запроса в котором затирается второй >>закладкой.
Вто то и дело что желательно один Query использовать.
>>Естественно, на первой уже ничего сделать нельзя.
не ужели действительно сделать ничего нельзя? Не затирается же он совсем
восстанавливается както при закрытии и открытии программы.


 
Kley   (2007-04-12 21:55) [4]

>>> datamodule1.PrihodQuery.Requery;

>>А это зачем после Open?
извиняюсь запарился.


 
Desdechado ©   (2007-04-13 11:32) [5]

> Вто то и дело что желательно один Query использовать.
Используй. Но только помни, что на "заранее в дизайне прописанный запрос" полагаться уже нельзя. Нужно будет его прописывать в коде на каждой закладке свой. Т.е. так, как у тебя сделано на 2-й закладке.

> Не затирается же он совсемвосстанавливается както при закрытии и открытии программы.
Что-то разводом попахивает.
Ты давно программируешь? Пора бы уже понять, что изменение значения переменных во время выполнения программы не сказывается на содержимом EXE. Поэтому при "открытии" программы переменные имеютте значения, которые ты им прописал в дизайне.



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

Текущий архив: 2007.07.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
3-1176720351
Dimitrij
2007-04-16 14:45
2007.07.15
Можно ли в алиасе с программы менять путь к БД?


2-1182021036
CoTr
2007-06-16 23:10
2007.07.15
Определение координат мыши в наложениях Image:TImage


3-1176787182
Xmen
2007-04-17 09:19
2007.07.15
FastReport и данные из базы


2-1182168494
nord489
2007-06-18 16:08
2007.07.15
Копирование файлов


2-1182105782
Bullfrog
2007-06-17 22:43
2007.07.15
TWebBrowser