powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Параметры для RefreshSQL, IBX
6 сообщений из 6, страница 1 из 1
Параметры для RefreshSQL, IBX
    #32087789
Acue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как задаются параметры для IBDataSet.RefreshSQL в IBX?

SelectSQL:
select a.* from StoredProcedure1(:param1) a
RefreshSQL:
select a.* from StoredProcedure1(:param1) a where a.id=:id

В отладчике вижу, что в qRefresh.params "param1" не задан.
Может свойство какое я не установил или еще что?
Помогите пожалуйста.
...
Рейтинг: 0 / 0
Параметры для RefreshSQL, IBX
    #32087865
alubetsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, тут дело такое ...

Если ты в инспекторе жестко прописал SQL для Select'а и Refresh'а, то тут остается посоветовать одно, перед выборкой, обновлением - переназначать параметры ...

Теперь про то как задать параметры:

qRefresh.SQL.Claer;
qRefresh.SQL.Add('select a.* from StoredProcedure1(:param1) а');
qRefresh.ParamByName('param1').AsInteger:=1;
qRefresh.Close;
qRefresh.Open;

Если у тебя IBDataSet, то можно сделать так, наверное, сам не пробовал:
SelectSQL:
select * from StoredProcedure1(:param1)
RefreshSQL:
select a.* from StoredProcedure1(:param2) a where a.id=:id

потом, перед тем как сделать выборку,
qRefresh.ParamByName('param1').AsInteger:=1;
qRefresh.Close;
qRefresh.Open;

перед тем как сделать Refresh,
qRefresh.ParamByName('param2').AsString:='Иванов';
qRefresh.ParamByName('id').AsInteger:=1;
qRefresh.Refresh;

Вот, наверное и все, если я все правильно понял ...

Если что-то не понятно - спрашивай ...
удачи ...
...
Рейтинг: 0 / 0
Параметры для RefreshSQL, IBX
    #32087882
Acue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все понятно, спасибо,
только вот свойство qRefresh в TIBCustomDataSet описано как protected . Правда блок предваряется следующим комментарием: {Likely to be made public by descendant classes}. Как это самое "be made public" грамотнее осуществить?
...
Рейтинг: 0 / 0
Параметры для RefreshSQL, IBX
    #32087935
alubetsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подожди !!!

так qRefresh это не TIBCustomDataSet ?!?!?!

Я что-то пропустил ??? или не так понял ?

упс!, да, точно есть такое свойство, только зачем оно тебе ??? ты что сделать хочешь ???

Зачем так глубоко копать ???
...
Рейтинг: 0 / 0
Параметры для RefreshSQL, IBX
    #32088091
Acue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дело вот в чем.
Нужно, чтоб на метод IBDataSet.Refresh работал RefreshSQL и красиво, как вроде и положено, обновлялась только запись на которой стоит курсор. Это достигается соответсвующим запросом в свойстве IBDataSet.RefreshSQL:
select a.* from bla_bla_bla a where a.id=:id , где id - первичный ключ.
При этом в параметр :id RefreshSQL-я значение автоматически берется из текущей записи.

Проблема моя видимо в том, что в качестве источника данных IBDataSet-а выступает хранимая процедура , в которую требуется передать параметры . В IBDataSet.SelectSQL эти параметры также присутствуют и он автоматически берет их из IBDataSet.Params. А вот RefreshSQL их у меня оттуда не берет. :((

Ссылку на его параметры я нашел через IBDataSet.qRefresh, но свойство это protected.
--
Уф, кажись сам с трудом понял че сказал? :))
...
Рейтинг: 0 / 0
Параметры для RefreshSQL, IBX
    #32088592
alubetsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, как все там замутно ... :((

Надо подумать ... поглабалить ...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Параметры для RefreshSQL, IBX
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]