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

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

Что за ошибка????? [D7, Paradox]


Ozone_too ©   (2003-02-23 10:30:00) 

Подскажите, что я делаю не так:
У меня на главной форме находится DbGrid (связанный с TQuery - "QStudent").
Есть кнопка "Редактировать":
var
num: integer;
begin
num:=data.QStudentNumber.AsInteger;
data.TStudent.EditKey;
data.TStudentNumber.AsInteger:=num;
data.TStudent.GotoKey;
data.TStudent.CachedUpdates:=true;
F_Insert.ShowModal; //форма редактирования
end;
//где TStudent - TTable, причем QStudent и TStudent привязаны к одной и той же таблице
На форме F_Insert есть кнопка "Сохранить":
TStudent.ApplyUpdates;
if TStudent.State in [dsInsert, dsEdit] then
TStudent.Post;
Так вот, если отредактируешь 1-й раз одну запись, то все нормально, но если начнешь
редактировать второй раз и нажмешь на кнопку "Сохранить", то выскакивает ошибка:
"Couldn"t perform the edit because another user changed the record"
Как быть?


Ozone_too   (2003-02-24 10:34:00) [1]

Я нашел ошибку, нужно было при сохранении отменить кеширование данных


MsGuns   (2003-02-23 13:46:00) [2]

Что указано в DataBase у обоих НД ?


Anatoly Podgoretsky   (2003-02-23 12:28:00) [3]

Зачем повторный Edit?


mate   (2003-02-23 12:26:00) [4]

попробуй
if TStudent.State in [dsInsert, dsEdit] then
begin
TStudent.Edit;
TStudent.Post;
end;


Наверх

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