![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при удалении картинки [D7]
Zif © (2004-08-24 15:55:00)Столкнулся с такой проблемой:
Удаляю файл изображения при помощи кода:
procedure TFormMain.ButtonClick(Sender: TObject);
begin
DataModule1.ADOQuery1.Edit;
DataModule1.ADOQuery1Image.Clear; //ADOQuery1Image - название поля
DataModule1.ADOQuery1.Post;
end;
Всё удаляется (картинка не отображается и поле в БД Access пустое), НО размер базы остаётся прежним!!!
КАК УДАЛИТЬ КАРТИНКУ ФИЗИЧЕСКИ (что б уменьшился размер БД)
И что это такое вообще происходит???
A_N_D (2004-08-24 17:12:00) [1]
var JetEngine: olevariant;
begin
JetEngine:= CreateOleObject('JRO.JetEngine');
JetEngine.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+OldName+';',
'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ NewName +';');
JetEngine:=unassigned;
end;
Zif (2004-08-24 16:14:00) [2]Действительно, "Сервис->Служебные программы->Сжать и восстановить базу..."
Но как это делать програмно с помощью Delphi?
Desdechado (2004-08-24 16:09:00) [3]Место в БД освободилось для новых данных. Зачем же его отдавать системе, если через минуту снова просить придется :)
roottim (2004-08-24 16:02:00) [4]
> КАК УДАЛИТЬ КАРТИНКУ ФИЗИЧЕСКИ
поскрябать винт отверточкой имхо *-)
Ega23 (2004-08-24 16:00:00) [5]Это тебе, брат, надо сжимать базу время-от-времени.
Из оболочки Access: Сервис->Служебные программы->Сжать и восстановить базу...
По запросу - поищи по FAQ, здесь несколько раз такой вопрос проскакивал
Sergey13 (2004-08-24 15:58:00) [6]>И что это такое вообще происходит???
Ничего не происходит. Все нормально. 8-)