Delphi,Access veri tabanından resim çekme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
tavas20
Üye
Mesajlar: 9
Kayıt: 18 Ara 2010 02:56

Delphi,Access veri tabanından resim çekme

Mesaj gönderen tavas20 »

Accessde veri tabanındaki bir resmi dbimage modulu ile çekmek istiyorum bitmap hatası geliyor delphi bitmap çekmenin yolu yokmu
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Delphi,Access veri tabanından resim çekme

Mesaj gönderen orhancc »

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.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Delphi,Access veri tabanından resim çekme

Mesaj gönderen mrmarman »

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ı.

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;
Resim
Resim ....Resim
Cevapla