AdoQueryden bilgileri sildiğim halde dosya boyutu aynı
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
AdoQueryden bilgileri sildiğim halde dosya boyutu aynı
AdoQuery'den verileri silmek için
query.delete;
komutunu kullanıyorum
normalde bu kayıtları veri tabanından siliyor.
ancak veri tabanından bu kayıtları silmesine karşın .mdb dosyam halen
eski dolu boyutunda oluyor. yani verileri silmeden önce 5 Mb ise 2-3 Mb'lik bilgi sildikten sonra bile halen 5 Mb olarak duruyor.
bunun sebebi nedir ve nasıl çözüm bulabilirim?
query.delete;
komutunu kullanıyorum
normalde bu kayıtları veri tabanından siliyor.
ancak veri tabanından bu kayıtları silmesine karşın .mdb dosyam halen
eski dolu boyutunda oluyor. yani verileri silmeden önce 5 Mb ise 2-3 Mb'lik bilgi sildikten sonra bile halen 5 Mb olarak duruyor.
bunun sebebi nedir ve nasıl çözüm bulabilirim?
[ F X E R K A N © - E r k a n Ç İ F T Ç İ ]
- Veritabanından silinen verilerin Pack Table olarak da tabir edilen Replication işlemine tabi tutulması gerekir. Araştırırsan çabucak bulacağına eminim.
- Bulamadığın taktirde arkadaşlar yardımcı olurlar zaten, gerekirse Ankara'ya döndüğümde fonksiyon halinde (VeritabanıTamirEt(DosyaAdi:String) şeklinde) kod da yazarım.
- Bulamadığın taktirde arkadaşlar yardımcı olurlar zaten, gerekirse Ankara'ya döndüğümde fonksiyon halinde (VeritabanıTamirEt(DosyaAdi:String) şeklinde) kod da yazarım.
Selam FXERKAN (sana kaç kere hemşo dedik bir selam bile söylemedin)
valla dökümanlarım arasında böyle bir olay vardı yani access *.mdb dosyalarını repair eden bir kod ama şu an aklımda değil bir dökümanlarımı karıştırayım (cdler arasında) bulduğumda buraya yazıcam veya yolu söyliyeyim kim önce bulursa o yazsın buraya )
google dan
delphi +access +mdb +repair +free +code diye aratmıştım sanırım öyle bulmuştum
Saygılar... (ama kodu bulayım arşivimden hemen yazıcam söz)
valla dökümanlarım arasında böyle bir olay vardı yani access *.mdb dosyalarını repair eden bir kod ama şu an aklımda değil bir dökümanlarımı karıştırayım (cdler arasında) bulduğumda buraya yazıcam veya yolu söyliyeyim kim önce bulursa o yazsın buraya )
google dan
delphi +access +mdb +repair +free +code diye aratmıştım sanırım öyle bulmuştum
Saygılar... (ama kodu bulayım arşivimden hemen yazıcam söz)
selam hemşo cd çantam iş yerinde
ama sana bir component buldum
http://www.torry.net/db/direct/ms_access/msautil.zip[/url]
ama sana bir component buldum
http://www.torry.net/db/direct/ms_access/msautil.zip[/url]
Selam.
- Halen İstanbul'dayım. @Admin'i ziyaret etmeyi düşünürken component linki görünce dayanamayıp, ActiveX ile bunu halletmeniz için internetten araştırarak bulduğum, aslında Ankara'ya döndüğümde göndermek istediğim hazır fonksiyona benzer bir kodu ve yöntemi sunuyorum.
- Delphi IDEnin Project/Import Type Library seçeneğiyle ActiveX eklentisi yapabildiğimizi sanıyorum biliyorsunuz veya şimdi öğrendik.
- Buradan Microsoft Jet and Replication Objects 2.1 başlığını bulup eklediğinizde, Delphi Bileşen Paletinde ActiveX kısmında iki ekelnti yapıldığını göreceksiniz. İşimizi oluşan TLB dosyayı uses'a eklemek ile çözeceğiz.
- Aşağıdaki örnekte dbSource değişkenine connected edilmemiş halde bulunan MDB veritabanınızı verin, dbDest değişkenine de yeni ismini verin. Sonuçta paketlenmiş ve sadeleşmiş yeni bir veritabanına sahip olacaksınız.
- Bundan sonra basit disk işlemleri ile eski veritabanını silip, yenisinin adını değiştireceksiniz ve kullanmaya başlayacaksınız.
- Halen İstanbul'dayım. @Admin'i ziyaret etmeyi düşünürken component linki görünce dayanamayıp, ActiveX ile bunu halletmeniz için internetten araştırarak bulduğum, aslında Ankara'ya döndüğümde göndermek istediğim hazır fonksiyona benzer bir kodu ve yöntemi sunuyorum.
- Delphi IDEnin Project/Import Type Library seçeneğiyle ActiveX eklentisi yapabildiğimizi sanıyorum biliyorsunuz veya şimdi öğrendik.
- Buradan Microsoft Jet and Replication Objects 2.1 başlığını bulup eklediğinizde, Delphi Bileşen Paletinde ActiveX kısmında iki ekelnti yapıldığını göreceksiniz. İşimizi oluşan TLB dosyayı uses'a eklemek ile çözeceğiz.
- Aşağıdaki örnekte dbSource değişkenine connected edilmemiş halde bulunan MDB veritabanınızı verin, dbDest değişkenine de yeni ismini verin. Sonuçta paketlenmiş ve sadeleşmiş yeni bir veritabanına sahip olacaksınız.
- Bundan sonra basit disk işlemleri ile eski veritabanını silip, yenisinin adını değiştireceksiniz ve kullanmaya başlayacaksınız.
Kod: Tümünü seç
uses
JRO_tlb;
var
JetEngine: IJetEngine;
begin
JetEngine := CoJetEngine.Create();
JetEngine.CompactDatabase('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + dbSource, 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + dbDest);
JetEngine := nil;
end;
Re: AdoQueryden bilgileri sildiğim halde dosya boyutu aynı
[Hint] msaUtility.pas(47): Value assigned to 'TmsaUtility.SelectMDBFile' never used
[Warning] msaUtility.pas(58): Variable 't' might not have been initialized
[Error] msaUtility.pas(72): Undeclared identifier: 'null'
[Error] msaUtility.pas(112): Undeclared identifier: 'Unassigned'
[Error] msaUtility.pas(140): Undeclared identifier: 'Unassigned'
[Hint] msaUtility.pas(19): Private symbol 'mdbTempFileOK' declared but never used
[Fatal Error] AccessUtility.dpk(34): Could not compile used unit 'msaUtility.pas'
bu companenti kuramıyorum hatalar var diyor ama çözemedim
yardım edermisiniz
[Warning] msaUtility.pas(58): Variable 't' might not have been initialized
[Error] msaUtility.pas(72): Undeclared identifier: 'null'
[Error] msaUtility.pas(112): Undeclared identifier: 'Unassigned'
[Error] msaUtility.pas(140): Undeclared identifier: 'Unassigned'
[Hint] msaUtility.pas(19): Private symbol 'mdbTempFileOK' declared but never used
[Fatal Error] AccessUtility.dpk(34): Could not compile used unit 'msaUtility.pas'
bu companenti kuramıyorum hatalar var diyor ama çözemedim
yardım edermisiniz
MAydinli
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: AdoQueryden bilgileri sildiğim halde dosya boyutu aynı
uses satırına Variants unit ini de ekle.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: AdoQueryden bilgileri sildiğim halde dosya boyutu aynı
sabanakman yazdı:uses satırına Variants unit ini de ekle.
tşk
MAydinli