Форум: "Базы";
Текущий архив: 2003.12.30;
Скачать: [xml.tar.bz2];
ВнизМастера, как пеердать параметр компоненту 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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.009 c