Compactar tabela após deleção

Delphi

01/04/2004

Estou com um probleminha.
Estou criando um banco de dados e estou armazenando fotos em um campo Blob da tabela.

Quando insiro as fotos na tabela o arquivo .Mb vai aumentando de tamanho, ate ai tudo bem.

So que quando eu deleto a foto ou o registro o arquivo nao diminui seu tamanho.

Alquem sabe como faco para excluir o registro e o arquivo .mb
reduzir de tamanho.


aguardo. obrigado.

[b:707ca26c03][color=red:707ca26c03]Editado(Beppe) - Título Removido: ´alguem me ajude por favor´. Leia as regras de conduta.[/color:707ca26c03][/b:707ca26c03]


Vetecnet

Vetecnet

Curtidas 0

Respostas

Phsm

Phsm

01/04/2004

Se eu fosse vc não gravaria a Foto em Campo Blob..... faria diferente,.... iria salvar a imagem no disco e armazenar o caminho dela no banco.
Agora se vc quiser compactar a tabela, qual banco vc esta utilizando ?? access ??? 97, 2000 ....

Paulo Henrique
Sao Paulo - SP


GOSTEI 0
Nerdex

Nerdex

01/04/2004

Faça assim...
Abra o seu projeto normalmente, vá em Projeto / Importar Biblioteca:
Em seguida procure por: Microsoft Jet and Replication 2.1 Library.
Instale, e será criado 2 componentes na aba Activex.
Insira o componente TJetEngine no form.

Agora o código para a compactação da base:

procedure TForm2.CompactClick(Sender: TObject);
var Prov: widestring;
begin
Screen.Cursor:=CrHourGlass;

//compacta bco de dados
Prov:=´Provider=Microsoft.Jet.OLEDB.4.0;Data Source=´;
Form1.JET.CompactDataba(Prov+´arquivo.mdb´,Prov+´arquivo compactado.mdb´);

Screen.Cursor:=CrDefault;
end;

Atenção: as conexões com a base devem estar desativadas, para tal operação.

Dica: Para esta terefa um arquivo novo .mdb COM UM NOME DIFERENTE deverá ser criado (é o arq. compactado), logo a sugestão seria eliminar o arquivo antigo e renomear o novo arquivo para que possa ser realizada a reconexão com o DataSet, sem problemas.


GOSTEI 0
Vetecnet

Vetecnet

01/04/2004

resolvido todos meus problemas, obrigado.


GOSTEI 0
POSTAR