|
Параметры для RefreshSQL, IBX
|
|||
---|---|---|---|
#18+
Как задаются параметры для IBDataSet.RefreshSQL в IBX? SelectSQL: select a.* from StoredProcedure1(:param1) a RefreshSQL: select a.* from StoredProcedure1(:param1) a where a.id=:id В отладчике вижу, что в qRefresh.params "param1" не задан. Может свойство какое я не установил или еще что? Помогите пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2003, 19:11 |
|
Параметры для RefreshSQL, IBX
|
|||
---|---|---|---|
#18+
Привет, тут дело такое ... Если ты в инспекторе жестко прописал 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; Вот, наверное и все, если я все правильно понял ... Если что-то не понятно - спрашивай ... удачи ... ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2003, 07:59 |
|
Параметры для RefreshSQL, IBX
|
|||
---|---|---|---|
#18+
Все понятно, спасибо, только вот свойство qRefresh в TIBCustomDataSet описано как protected . Правда блок предваряется следующим комментарием: {Likely to be made public by descendant classes}. Как это самое "be made public" грамотнее осуществить? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2003, 09:07 |
|
Параметры для RefreshSQL, IBX
|
|||
---|---|---|---|
#18+
Подожди !!! так qRefresh это не TIBCustomDataSet ?!?!?! Я что-то пропустил ??? или не так понял ? упс!, да, точно есть такое свойство, только зачем оно тебе ??? ты что сделать хочешь ??? Зачем так глубоко копать ??? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2003, 11:01 |
|
Параметры для RefreshSQL, IBX
|
|||
---|---|---|---|
#18+
Дело вот в чем. Нужно, чтоб на метод 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. -- Уф, кажись сам с трудом понял че сказал? :)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2003, 13:06 |
|
|
start [/forum/topic.php?fid=40&fpage=529&tid=1580958]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
28ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 304ms |
total: | 416ms |
0 / 0 |