![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Feth ALL
Andrey V. © (2003-08-25 10:13:00)
Почитал что при команде LOCATE фетчатся ВСЕ записи , что конечно не есть хорошо.
Тогда вопрос как в гриде спозиционироваться на только что добавленную(измененую строку)? При условии что мы ее не в гриде правили , а в отдельной форме , при закрытии которой "перечитали" сорц грида.
Zacho (2003-08-25 13:14:00) [1]
> Andrey V. (25.08.03 12:54) [12]
> DataSet один , но делается Close/Open.
Зачем ?
> А Refresh IMHO у TibQuery , то ли не работает, то ли все
> равно там у себя внутри делает Close/Open или я не прав
> ?
Работает. Рефрешит текущую запись. Никаких CLose;Open; Только, естественно для этого должен быть TIBUpdateSQL с запросом RefreshSQL
Vlad (2003-08-25 13:08:00) [2]
По моему нет способов штатными средствами спозиционироваться на нужной записи так, чтоб при этом не фетчить предыдущие.
Andrey V. (2003-08-25 12:54:00) [3]
DataSet один , но делается Close/Open.
И , зная ключ добавленой записи , я отыскиваю строку при помощи Locate.
А Refresh IMHO у TibQuery , то ли не работает, то ли все равно там у себя внутри делает Close/Open или я не прав ?
Danilka (2003-08-25 11:59:00) [4]
еще добавлю на счет фетча в БДЕ, у БДЕ-алиаса есть такой параметр "rowset size", который определяет сколько схавается записей за один фетч. по-умолчанию = 20, то есть БДЕ с сервера забирает данные порциями по 20 записей, если не трогали этот параметр.
Zacho (2003-08-25 11:16:00) [5]
> Vlad © (25.08.03 11:06) [9]
> 2 Zacho © (25.08.03 11:02) [8]
> >А если тот-же - то и позиционировать ничего не надо
> А если был Close; Open ; ?
Если был - то, естественно, надо. Правда, если датасет один, то не совсем понятно, зачем его перечитывать. Возможно, достаточно сделать Refresh текущей записи. Но об этом лучше знать автору вопроса :)
> Кстати, насчет BDE, поясни все таки. Насколько я знаю там
> нельзя управлять фетчем, и он фетчит так как сам захочет.
> ИМХО. Может и не прав.
C фетчем там так же, как, например, и в IBX. Фетчаться только те записи, на которые попробовали перейти. Если вызвали FetchAll - то все.
Vlad (2003-08-25 11:06:00) [6]
2 Zacho © (25.08.03 11:02) [8]
>А если тот-же - то и позиционировать ничего не надо
А если был Close; Open ; ?
Кажется автор говорил что Source грида перечитывается после закрытия формы
Кстати, насчет BDE, поясни все таки. Насколько я знаю там нельзя управлять фетчем, и он фетчит так как сам захочет. ИМХО. Может и не прав.
Zacho (2003-08-25 11:02:00) [7]
> Vlad © (25.08.03 10:55) [7]
> Что-то я не понял, где сказано, что для правки используется
> другой DataSet ? По - моему речь шла всего лишь о другой
> форме.
А если тот-же - то и позиционировать ничего не надо. Но из необходимости позиционирования можно все-таки предположить, что другой. В общем, пусть автор вопроса прояснит ситуацию :-)
> A Locatе, при позиционировании на n-ой записи разве не будет
> фетчить все от 0 до n ? Пусть даже по первичному ключу
Конечно, будет. А мое замечание относилось только к тому, что при открытии датасета в BDE всезаписи фетчатся не будут.
Vlad (2003-08-25 10:55:00) [8]
Что-то я не понял, где сказано, что для правки используется другой DataSet ? По - моему речь шла всего лишь о другой форме.
A Locatе, при позиционировании на n-ой записи разве не будет фетчить все от 0 до n ? Пусть даже по первичному ключу
Zacho (2003-08-25 10:46:00) [9]
> Vlad © (25.08.03 10:39) [4]
В данном контексте - действительно мало нужный. Но зачем вводить людей в заблуждение ? Ну не фетчаться все записи при открытии. И в BDE - тоже.
2 Andrey V.
Позиционируй Locate"ом, по значению первичного ключа записи. А лучше - см. don-do (25.08.03 10:14) [1]
Andrey V. (2003-08-25 10:41:00) [10]забыл совсем указать , что реч идет про d5&ib6&w98 (без бде)
Vlad (2003-08-25 10:39:00) [11]
2 Zacho © (25.08.03 10:36) [3]
Полезный комментарий. Главное очень нужный.
Zacho (2003-08-25 10:36:00) [12]
> Vlad © (25.08.03 10:31) [2]
> Смотря что используешь. Если BDE, то там по любому, при
> открытии фетчатся все записи
Это не так.
Vlad (2003-08-25 10:31:00) [13]
Смотря что используешь. Если BDE, то там по любому, при открытии фетчатся все записи.
А если что другое, то все равно для позиционирования на нужной записи придется фетчить как минимум от начала ДатаСета до этой записи. Так что Locate тут не повредит.
don-do (2003-08-25 10:14:00) [14]
используй для правки тот-же dataset