![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Доброго времени суток всем!
В общем начну по порядку: СУБД InterBase, БД из 8 таблиц, в каждой по одному полю blob типа. Для работы с базой использую компоненты dbExpress: SQLConnection для связи с базой и компоненты SimpleDataSet для работы с таблицами. Добавление записей и удаление происходит нормально. А вот с редактированием проблема, а именно: При редактировании некоторых записей таблицы вылетает ошибка "SimpleDataSet: Must apply updates before refreshing data" - не проходит метод ApplyUpdates(). Кто сталкивался подскажите в чем проблема. Кусок кода в котором и происходит ошибка Код:
DataModule1.sidsAdmin.Edit; //открываем запись на редактирование
... ...
DataModule1.sidsAdmin.FieldByName('data_sozd').AsDateTime:=StrToDate(Edit_date_admin.Text);
DataModule1.sidsAdmin.FieldByName('nomer_doc').AsInteger:=StrToInt(Edit_No_admin.Text);
... ...
try //создаем поток для blob
stream_db:=DataModule1.sidsAdmin.CreateBlobStream (DataModule1.sidsAdmin.FieldByName('PICTURE'),bmWrite);
file_stream:=TFileStream.Create(Edit_pdf_add.Text,fmOpenRead);
stream_db.CopyFrom(file_stream,file_stream.Size);
finally
file_stream.Free;
stream_db.Free;
end;
end;
DataModule1.sidsAdmin.Post;
DataModule1.sidsAdmin.ApplyUpdates(0);
DataModule1.sidsAdmin.Refresh; |
|
#2
|
||||
|
||||
|
Мне одному кажется странным выбор компонентов для IB?
Вы же сами указали, что не проходит ApplyUpdate. Т.е. скорее всего какие- то новые данные не проходят ограничения базы. Поставьте в OnReconcicleError: Код:
ShowMessage(E.Message); |