![]() |
|
|
Регистрация | << Правила форума >> | 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); |