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

Вниз

Мастера, как пеердать параметр компоненту pFIBDataSet   Найти похожие ветки 

 
konst_bsh   (2003-12-04 10:02) [0]

пробовал
Form.pFIBDataSet1.ParamByName("prm").AsInteger:=2003;
или Form.pFIBDataSet1.ParamByName("prm").Value:=2003; Мне кажеться что его просто надо создать, но где это сделать в данном компоненте не знаю. Вот у IBQuery есть Params а тут нет.
Сам запрос на выборку такой
SELECT*FROM
ZAKAZ ZAK
where ZAK.YEARZ= ?prmYearz
Если вместо ?prmYearz ставлю число, то всё Ок.


 
Johnmen ©   (2003-12-04 10:17) [1]

Может все-таки ParamByName(" prmYearz") ? :)))


 
konst_bsh   (2003-12-04 10:27) [2]

Да так у меня и стоит это я запостил немного некоректно, хотел избавить от лишней информации. Мне кажеться что параметр надо создать предварительно как в IBQuery. Или это не так?


 
HSolo ©   (2003-12-04 10:41) [3]

А если так:
...
where ZAK.YEARZ= :prmYearz


 
konst_bsh   (2003-12-04 10:45) [4]

>where ZAK.YEARZ= :prmYearz
тоже не получается :-(


 
Johnmen ©   (2003-12-04 10:56) [5]

Приводи кусок кода. И где не получается.


 
konst_bsh   (2003-12-04 11:04) [6]

Это SelectSQL pFIBDataSeta
SELECT
ZAK.RECORDNO,
ZAK.NZAK,
ZAK.YEARZ,
ZAK.NYEAR,
ZAK.KODZAK,
ZAK.KODAVT,
ZAK.IDAVTO,
ZAK.DATAP,
ZAK.TIMEP,
ZAK.DOV,
ZAK.DATV,
ZAK.TIMEV,
FROM
ZAKAZ ZAK
where ZAK.YEARZ= :prmYEARZ
order by ZAK.NYEAR desc;

У формы на которой лежит pFIBDataSet в обработчике OnShow:
FormZN.pFIBDataSet1.ParamByName("prmYEARZ").Value:=2003;
pFIBDataSet1.Open;

Вот и всё, почему не работает не понимаю.


 
konst_bsh   (2003-12-04 11:15) [7]

Дописав в обработчике OnShow:
label1:=inttostr(FormZN.pFIBDataSet1.ParamByName("prmYEARZ").Asinteger) получил ноль. Те не идёт присвоение значения параметру. Почему?


 
Sandman25 ©   (2003-12-04 11:16) [8]

FormZN.

Это зачем?


 
konst_bsh   (2003-12-04 11:18) [9]

Ну можно и без этого просто это форма, на которой всё лежит.


 
Sandman25 ©   (2003-12-04 11:21) [10]

В чем проявляется "не работает"? Ошибка при присвоении параметра или при Open?
ParamCheck (или что-то подобное) у pFIBDataSet установлено в True?


 
konst_bsh   (2003-12-04 11:29) [11]

Под не работает я имел ввиду отсутствие записей в гриде. А pFIBDataSet получается работает. А вот свойства ParamCheck у него нет (и ничего подобного тоже не нашёл).


 
Sandman25 ©   (2003-12-04 11:34) [12]

После Open посмотрите значение pFIBDataSet1.ParamByName("prmYEARZ").AsInteger


 
konst_bsh   (2003-12-04 11:42) [13]

Да делал уже. Ноль выдаёт. А если делать FormZN.pFIBDataSet1.ParamByName("prmYEARZ").Value:="2003"; (Хотя поле Integer)
Те как текстовое поле присваивать, то показывает 2003. Но в гриде всё равно пусто.


 
Sandman25 ©   (2003-12-04 11:44) [14]

А присваивать AsInteger не пробовали?
А указать явно тип параметра?
ParamByName(..).DataType := ftInteger


 
konst_bsh   (2003-12-04 13:53) [15]

Поменял компоненты на стандартные IBDataSet, IBDataBase итд Сделал всё тоже самое и представьте себе всё работает. Поясните что нужно подключить или ещё чего у pFIBDataSet что бы он с параметрами работал? Мне кажется что должно быть какое то свойство как у IBDataSet ParamCheck=true. Но я в упор не вижу.


 
iva ©   (2003-12-04 14:01) [16]

Попробуй FormZN.pFIBDataSet1.ParamByName(" PRMYEARZ")


 
konst_bsh   (2003-12-04 14:20) [17]

Результат тот же :-( Прям хоть стандартными средствами пользуйся.


 
Johnmen ©   (2003-12-04 14:25) [18]

Свойства параметров надо определять до работы с ними.


 
konst_bsh   (2003-12-04 14:30) [19]

>Свойства параметров надо определять до работы с ними.
Не совсем понял, что имеется ввиду.


 
konst_bsh   (2003-12-04 15:35) [20]

Есть подозрение, что у меня какой то кривой FIBPlus. Не мог бы кто нить мыльнуть данные компоненты на adm@obukhoff.ru


 
Sandman25 ©   (2003-12-04 16:03) [21]

Я думаю, имелось в виду нечто такое:
with ParamByName(..) do
begin
DataType := ftInteger;
AsInteger := your_value;
end;


 
Johnmen ©   (2003-12-04 16:08) [22]

>Sandman25 © (04.12.03 16:03)

Да, я имел в виду это :)
Но подзабыл уже, что для IBX и FIBPlus несколько по-другому...
Должно быть ParamByName(...).AsInteger


 
Sandman25 ©   (2003-12-04 16:11) [23]

>Но подзабыл уже

Хорошо тебе... Я и не знал никогда :)


 
konst_bsh   (2003-12-04 16:29) [24]

pFIBDataSet1.ParamByName("PRMYEARZ").AsInteger := 2003; Не работает; А pFIBDataSet1.ParamByName("PRMYEARZ").DataType вообще отсутствует как свойство.


 
Johnmen ©   (2003-12-04 16:51) [25]

>konst_bsh

Попробуй
Params.ByName(...).AsInteger

Два попутных вопроса:
1. Прописывается SelectSQL в дизайне или рантайме ?
2. Какоя версия FIBPlus ?


 
konst_bsh   (2003-12-04 17:30) [26]

>Params.ByName(...).AsInteger
Не работает

>Прописывается SelectSQL в дизайне или рантайме
Да в дизайне прописывается.

>Какоя версия FIBPlus
4.8.1



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

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

Наверх




Память: 0.52 MB
Время: 0.027 c
1-99639
lena19
2003-12-16 20:24
2003.12.30
проверка времени


6-99672
Melcor
2003-10-31 14:54
2003.12.30
Как отправлять пакеты по сети?


1-99615
vovchik
2003-12-18 05:02
2003.12.30
QReport


3-99444
hursand
2003-12-06 11:32
2003.12.30
Использоват хранимых процедур


8-99650
Kaylang
2003-08-20 14:20
2003.12.30
Где можно найти нормальную информацию по TChart?