Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проблема при сохранении файла из БД

9.7K
24 февраля 2005 года
k2s
3 / / 24.02.2005
 
Код:
procedure TEditInDocForm.ButtonSaveImageClick(Sender: TObject);
begin
SavePictureDialog.FileName := (IODocsDataModule.INDOCSIBTable.fieldbyname('IMAGEFNAME').AsString);
SavePictureDialog.Execute;  (IODocsDataModule.INDOCSIBTableIMAGE as TBlobField).SaveToFile(SavePictureDialog.FileName);
end;


При выполнении SavePictureDialog не появляется, а сразу выдается ошибка "Cannot create file "". Имя файла или его расширение имеют слишком большую длину." Есстественно в
 
Код:
IODocsDataModule.INDOCSIBTable.fieldbyname('IMAGEFNAME').AsString

находится имя файла. И что тут может быть не так?
9.7K
25 февраля 2005 года
k2s
3 / / 24.02.2005
Решение проблемы оказалось более лёгким чем я думал, а именно - типом данных поля IMAGEFNAME был CHAR, который заполняет свободное место в поле пробелами, у меня размер IMAGEFNAME был 300, имя файла естесственно было короче и оставшееся место заполнялось пробелами (http://ibase.ru/devinfo/charvar.htm). Отсюда и ошибка "Cannot create file "". Имя файла или его расширение имеют слишком большую длину." и то, что SavePictureDialog не открывался. После замены типа данных поля на VARCHAR всё стало нормально работать.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог