![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мастера, как пеердать параметр компоненту pFIBDataSet [D7, IB6.x]
konst_bsh © (2003-12-04 10:02:00)
пробовал
Form.pFIBDataSet1.ParamByName("prm").AsInteger:=2003;
или Form.pFIBDataSet1.ParamByName("prm").Value:=2003; Мне кажеться что его просто надо создать, но где это сделать в данном компоненте не знаю. Вот у IBQuery есть Params а тут нет.
Сам запрос на выборку такой
SELECT*FROM
ZAKAZ ZAK
where ZAK.YEARZ= ?prmYearz
Если вместо ?prmYearz ставлю число, то всё Ок.
konst_bsh (2003-12-04 17:30:00) [1]
>Params.ByName(...).AsInteger
Не работает
>Прописывается SelectSQL в дизайне или рантайме
Да в дизайне прописывается.
>Какоя версия FIBPlus
4.8.1
Johnmen (2003-12-04 16:51:00) [2]
>konst_bsh
Попробуй
Params.ByName(...).AsInteger
Два попутных вопроса:
1. Прописывается SelectSQL в дизайне или рантайме ?
2. Какоя версия FIBPlus ?
konst_bsh (2003-12-04 16:29:00) [3]
pFIBDataSet1.ParamByName("PRMYEARZ").AsInteger := 2003; Не работает; А pFIBDataSet1.ParamByName("PRMYEARZ").DataType вообще отсутствует как свойство.
Sandman25 (2003-12-04 16:11:00) [4]
>Но подзабыл уже
Хорошо тебе... Я и не знал никогда :)
Johnmen (2003-12-04 16:08:00) [5]
>Sandman25 © (04.12.03 16:03)
Да, я имел в виду это :)
Но подзабыл уже, что для IBX и FIBPlus несколько по-другому...
Должно быть ParamByName(...).AsInteger
Sandman25 (2003-12-04 16:03:00) [6]
Я думаю, имелось в виду нечто такое:
with ParamByName(..) do
begin
DataType := ftInteger;
AsInteger := your_value;
end;
konst_bsh (2003-12-04 15:35:00) [7]
Есть подозрение, что у меня какой то кривой FIBPlus. Не мог бы кто нить мыльнуть данные компоненты на adm@obukhoff.ru
konst_bsh (2003-12-04 14:30:00) [8]
>Свойства параметров надо определять до работы с ними.
Не совсем понял, что имеется ввиду.
Johnmen (2003-12-04 14:25:00) [9]
Свойства параметров надо определять доработы с ними.
konst_bsh (2003-12-04 14:20:00) [10]
Результат тот же :-( Прям хоть стандартными средствами пользуйся.
iva (2003-12-04 14:01:00) [11]
Попробуй FormZN.pFIBDataSet1.ParamByName(" PRMYEARZ")
konst_bsh (2003-12-04 13:53:00) [12]
Поменял компоненты на стандартные IBDataSet, IBDataBase итд Сделал всё тоже самое и представьте себе всё работает. Поясните что нужно подключить или ещё чего у pFIBDataSet что бы он с параметрами работал? Мне кажется что должно быть какое то свойство как у IBDataSet ParamCheck=true. Но я в упор не вижу.
Sandman25 (2003-12-04 11:44:00) [13]
А присваивать AsInteger не пробовали?
А указать явно тип параметра?
ParamByName(..).DataType := ftInteger
konst_bsh (2003-12-04 11:42:00) [14]
Да делал уже. Ноль выдаёт. А если делать FormZN.pFIBDataSet1.ParamByName("prmYEARZ").Value:="2003"; (Хотя поле Integer)
Те как текстовое поле присваивать, то показывает 2003. Но в гриде всё равно пусто.
Sandman25 (2003-12-04 11:34:00) [15]
После Open посмотрите значение pFIBDataSet1.ParamByName("prmYEARZ").AsInteger
konst_bsh (2003-12-04 11:29:00) [16]
Под не работает я имел ввиду отсутствие записей в гриде. А pFIBDataSet получается работает. А вот свойства ParamCheck у него нет (и ничего подобного тоже не нашёл).
Sandman25 (2003-12-04 11:21:00) [17]
В чем проявляется "не работает"? Ошибка при присвоении параметра или при Open?
ParamCheck (или что-то подобное) у pFIBDataSet установлено в True?
konst_bsh (2003-12-04 11:18:00) [18]
Ну можно и без этого просто это форма, на которой всё лежит.
Sandman25 (2003-12-04 11:16:00) [19]
FormZN.
Это зачем?
konst_bsh (2003-12-04 11:15:00) [20]
Дописав в обработчике OnShow:
label1:=inttostr(FormZN.pFIBDataSet1.ParamByName("prmYEARZ").Asinteger) получил ноль. Те не идёт присвоение значения параметру. Почему?