Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как правильно отобразить изменения в таблице [D5, D6, D7, dBase, FoxPro, Paradox]


snip13 ©   (2006-08-03 12:10:00) 

К примеру, с помощью Query выбираются данные из таблицы и отображаются в DBGrid. Если в таблице сделать изменения (insert/update), то они не отображаются в DBGrid пока запрос не сделаешь Query.Close Query.Open. Но это занимает много времени. Подскажите пожалуйста более преемлимые способы обновить DBGrid.


Sergey13   (2006-08-03 15:21:00) [1]

> [13] snip13 ©   (03.08.06 15:13)
> Если бы приложение состояло только из Form+Query+DataSource+UpdateSQL+DBG
> rid, то спрашивать совета я бы не стал. Если что-нить найду
> рабочее обязательно отпишусь.

Я тебе дал абсолютно рабочий (стандартный, описанный в документации и хелпе) совет. Не хочешь - дело твое.


snip13   (2006-08-03 15:13:00) [2]


> Похоже надо книжку прочитать.

Если бы приложение состояло только из Form+Query+DataSource+UpdateSQL+DBGrid, то спрашивать совета я бы не стал. Если что-нить найду рабочее обязательно отпишусь.


Sergey13   (2006-08-03 15:06:00) [3]

> [11] snip13 ©   (03.08.06 14:59)
> Получается то же самое. Надо закрывать и  открывать запрос.
Что получается? Ничего не надо закрывать и открывать.

> Похоже, что надо уходить с BDE

Похоже надо книжку прочитать.


snip13   (2006-08-03 14:59:00) [4]

Получается то же самое. Надо закрывать и  открывать запрос. Похоже, что надо уходить с BDE


Sergey13   (2006-08-03 14:07:00) [5]

> [9] snip13 ©   (03.08.06 14:03)

Получится. Есть TUpdateSQL.


snip13   (2006-08-03 14:03:00) [6]


> А чем не нравится Query1.Insert?

Не получится. Query1 read-only dataset


Sergey13   (2006-08-03 13:46:00) [7]

> [7] snip13 ©   (03.08.06 13:44)

А чем не нравится Query1.Insert?


snip13   (2006-08-03 13:44:00) [8]

with TQuery.Create(nil) do begin
 SQL.Text := 'INSERT INTO "Table1" ...
 ...
end
Query1.Close;
Query1.Open;


Sergey13   (2006-08-03 13:40:00) [9]

> [5] snip13 ©   (03.08.06 13:37)

А "(insert/update)" как делаешь?


snip13   (2006-08-03 13:37:00) [10]

Я работаю Query-DataSource-DBGrid


Sergey13   (2006-08-03 13:31:00) [11]

2 [3] Neo Trinitron ©   (03.08.06 13:27)
> не совсем понял, а как snip13 работает?
А кто его знает? У нас только 13 общее, а так мы разные люди. 8-)

> Есть ещё способы работы кроме как через DataSet?
Через отдельный запрос.


Neo Trinitron   (2006-08-03 13:27:00) [12]

Sergey13, не совсем понял, а как snip13 работает? Есть ещё способы работы кроме как через DataSet?

По теме. Не знаю работает ли Refresh, RefreshRecord с таблицами dbase. Попробуй, может получится... На других СУБД (Oracle, напимер) работает на порядок быстрее.


Sergey13   (2006-08-03 13:09:00) [13]

Делай изменения через датасет. Тогда и переоткрывать ничего не надо будет. В датасет (в запросе) необязательно тянуть всю таблицу.


Johnmen   (2006-08-03 12:58:00) [14]

Тебе нужен способ не грид обновлять, а набор данных, который он показывает. А других способов, кроме Close-Open в твоём случае не существует.


Наверх

Титульная страница Поиск, карта сайта Написать письмо