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

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

Сохранение изменений в БД [D6, Paradox]


slex ©   (2003-03-19 22:02:00) 

Мастера объясните, что за фича така:
редактирую БД при помощи компонента Ttable(edit;редактирование;Post)
Вроде сразу всё тип-топ, но после перезагрузки системы оказывается, изменения в БД не сохранены.


Zelius   (2003-03-20 15:25:00) [1]

А ты попробуй открыть таблицы в эксклюзивном режиме! Тогда сразу будет понятно, юзает ли кто-нибудь их.
Вообще странно, сколько не писал на парадоксе, такая проблема возникала в двух случаях: 1 - неправильный код ( например забыл поставить Post, или он не выполняется по причине эксепшена); 2 - при работе в сети если хоть на одном компе стоит LocalShare=False.


slex   (2003-03-20 14:58:00) [2]

slex2zelius
Нет, прога не сетевая, другие приложения также НЕ работают в этот момент с БД


Zelius   (2003-03-20 13:21:00) [3]

Программа сетевая? В этот момент кто-нибудь по сети работает с этими же таблицами?


Дмитрий К.К.   (2003-03-20 12:12:00) [4]

Еще как причем:

Posts all changes that have been written to the record buffer.


reticon   (2003-03-20 12:10:00) [5]

Посмотри метод FlushBuffers, хотя он тут не причем, все должно и так сохраняться:

Table1.Open;
Table1.Edit;
......
Table1.Post;
Table1.Close;
//например так

Незнаю у меня все прекрасно работает


Дмитрий К.К.   (2003-03-20 06:22:00) [6]

FlushBuffers


Basic   (2003-03-20 00:32:00) [7]

кстати нашел еще

Комментарий от Alex Zemliansky:
if Table1.Modified then Table1.Post;

ставь проверку тамже перед закрытием базы или формы


Basic   (2003-03-20 00:30:00) [8]

рекомендуют еще дополнительно в beforeclose ставить для записи буферов

Check(dbiSaveChanges(Table.Handle));


slex   (2003-03-19 22:58:00) [9]

slex2reticon
Marks.Edit;
Marks.FieldByName("ScBoyCode").AsInteger:=scboycode;
Marks.FieldByName("Periodcode").AsInteger:=period;
Marks.FieldByName("Subjectcode").AsInteger:=subjectcode;
marks.Fieldbyname("Mark").Asinteger:=mark;
Marks.Post;


reticon   (2003-03-19 22:14:00) [10]

Да вроде все должно сохраняться, тыже используешь метод Post.

ЗЫ покажи код


Наверх

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