![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как очистить данные кешированные запросом IBQuery? [D7, IB6.x]
dimm © (2003-05-26 11:26:00)Делаю запрос к БД и получаю данные, которыми заполняю StringGrid.
Но при удалении, добавлении или изменении данных при повторном запросе (чтобы обновить StringGrid) выводяться старые небновлённые данные. Хотя в самой БД данные новые. Дело в том что, запрос кеширует данные и выдаёт их из кеша, а не из БД. Помогает отключение и повторное подключение к БД, но это занимает порядка 1-2 секунд, что плохо. Как бы очистить эти кешированные данные? В запросе в свойствах Cashed стоит false, а он всё равно кеширует. Или может причина в другом? Добрые люди поможите пожалста.
Alexandr (2003-05-26 13:54:00) [1]интернет, видать в ваш колхоз провели недавно...
dimm (2003-05-26 13:36:00) [2]HSolo отдельное спасибо. Попал в точку.
dimm (2003-05-26 12:26:00) [3]Огромное всем спасибо. А вот насчёт специальных средств в книжках, которые я читал, всё как то больше пользовались StringGridom и тп. Вот облом. Я оттуда и понабрался "знаний". Хотя сам понимаю насколько это муторно всё пихать в него, оновлять его и тд.
Zacho (2003-05-26 12:02:00) [4]Например в "Delphi 5. Руководство разработчика баз данных." Шумаков, Фаронов.
А про трнзакции и уровни изоляции читай http://www.ibase.ru/develop.htmраздел "Транзакции, архитектура IB"
Max Zyuzin (2003-05-26 11:58:00) [5]>dimm (26.05.03 11:51)
Гы... посмотреть в любой книжке или любом примере, по работе с БД, используют специфически средства для отображения данных только в очень хитрых случаях.
dimm (2003-05-26 11:51:00) [6]Close Open для IBQuery не помогает. Запрос динамический и он каждый раз формируется заново, соответственно с Close и Open. А насчёт специальных компонентов - это конечно здорово, но это моя первая небольшая БД и о них я чесно говоря ничего не знаю. Где бы прочесть?
А насчёт Snapshot посмотрю , проверю.
HSolo (2003-05-26 11:37:00) [7]Проверьте уровень изоляции транзакции; по-видимому, у Вас указан Snapshot, так?
Johnmen (2003-05-26 11:35:00) [8]Указанное свойство отвечает за кеширование ИЗМЕНЕНИЙ В НД !
А я так понял, что НД у тебя не изменяется...
Поэтому достаточно Close-Open для IBQuery...
PS И непонятно, зачем вообще используется стринг-грид, а не специальные компоненты...