Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
4-99813
Suharew
2003-11-01 23:55
2003.12.30
CreateProcess


8-99657
MIKL
2003-08-26 14:14
2003.12.30
Потдержка jpeg, gif, и т.д


1-99639
lena19
2003-12-16 20:24
2003.12.30
проверка времени


1-99547
Ivolg
2003-12-16 11:18
2003.12.30
Конвертация!


3-99501
Artemij
2003-12-04 13:04
2003.12.30
Поле Memo в DBGrid





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский