Delphi,Access veri tabanından resim çekme
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Delphi,Access veri tabanından resim çekme
Accessde veri tabanındaki bir resmi dbimage modulu ile çekmek istiyorum bitmap hatası geliyor delphi bitmap çekmenin yolu yokmu
Re: Delphi,Access veri tabanından resim çekme
Resimlerin veritabanında mı kayıtlı yoksa sadece dosya yolunu mu saklıyorsun ? Gelen hata tam olarak nedir ? Biraz daha açıklayıcı olursan yardımcı olunabilir.
Re: Delphi,Access veri tabanından resim çekme
Resim veritabanında BMP olarak saklıyor olması da ayrıca düşük ihtimaldir. Çünkü BMP oldukça fazla yer tutar. JPG olarak kaydetmiş olma ihtimalleri daha yüksek. Önce bu BLOB alandaki veriyi bir dosya olarak ele alarak basit bir HEX editor ile incelemek lazım.
aşağıdaki şekilde bu veriyi bir dosyay ismi ile bilgisayara kaydetmeyi dene. JPG ihtimali yüksek diye ben JPG uzantısı vererek dosya adını Gecici.JPG olarak verdim. Önce bunu görüntülemeyi dene, olmazsa buraya gönder biz yardımcı olalım.
AdoQuery1 yazan yere kendi veritabanı erişim enstrumanını yaz, BlobVeri yazan yere de veritabanındaki resimlerin saklı olduğu veri alan adını.
aşağıdaki şekilde bu veriyi bir dosyay ismi ile bilgisayara kaydetmeyi dene. JPG ihtimali yüksek diye ben JPG uzantısı vererek dosya adını Gecici.JPG olarak verdim. Önce bunu görüntülemeyi dene, olmazsa buraya gönder biz yardımcı olalım.
AdoQuery1 yazan yere kendi veritabanı erişim enstrumanını yaz, BlobVeri yazan yere de veritabanındaki resimlerin saklı olduğu veri alan adını.
Kod: Tümünü seç
var
S : TMemoryStream;
DosyaAdi: string;
begin
S := TMemoryStream.Create;
try
DosyaAdi := ExtractFilePath(Application.ExeName)+'Gecici.JPG';
TBlobField( AdoQuery1.FieldByName('BlobVeri') ).SaveToStream( S );
S.Position := 0;
S.SaveToFile(DosyaAdi);
finally
S.Free;
end;