Access dosyası, Jpeg ve Blob Alan (Bilmeyenlere)

Diğer veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
MicroChip
Kıdemli Üye
Mesajlar: 1119
Kayıt: 02 Ağu 2003 01:02
Konum: İstanbul
İletişim:

Access dosyası, Jpeg ve Blob Alan (Bilmeyenlere)

Mesaj gönderen MicroChip »

Bu kodları az önce ADO da denedim (ben ADO kullanıyorum ve Delphi5)

Diğer kodları inceledim fakat hepsi resimleri dosyadan alıyordu. Bu benim geliştirdiğim kod ise hey yerden alabilir image nesnesinden de.

veritabanından okumak için;

Kod: Tümünü seç


'var bloğunda tanımlanacaklar'
var
    jpgresim:Tjpegimage;
    blobalan:Tadoblobstream;


        if not FieldByName('resim').Isnull then
        begin
          blobalan:=TADOBlobStream.Create(TGraphicField(FieldByName('resim')), bmread);
          jpgresim:=tjpegimage.create;
          jpgresim.LoadFromStream(blobalan);
          Image1.Picture.Assign(jpgresim);
          jpgresim.free;
          blobalan.free;
        end;


veritabanına yazmak için ise

Kod: Tümünü seç


var
  jpgresim: Tjpegimage;
  blobalan: Tadoblobstream;
  hafiza: Tmemorystream;

;
    with adresdefteriset do
    begin
      Append;
      FieldValues['adi']:=edit1.text;
      FieldValues['soyadi']:=edit2.text;
      jpgresim:=TJpegImage.Create;
      jpgresim.assign(Image1.Picture.Bitmap);
      hafiza:=TMemoryStream.Create;
      jpgresim.savetostream(hafiza);
      blobalan:=TADOBlobStream.Create(TGraphicField(FieldByName('resim')), bmWrite);
      blobalan.copyfrom(hafiza,0);
      blobalan.free;
      hafiza.free;
      jpgresim.free;
      post;
    end;

Sevgi ve saygılarımla...
İyi günlerde kullanmanız dileği ile...


@mrmarman yazdı:TAŞIMA BİLGİSİ : Programlama formundan DİĞER VERİTABANLARI formuna taşınmıştır
Kafkas Kartalı Kabarday
Sitesi!= http://www.ahmetceylan.com
Resim
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7586
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

duyarlı davranışın için teşekkürler hocam.

Kolay gelsin.
yusuf
Üye
Mesajlar: 139
Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL

JPG kaydetme ve göstermede hatalar yaşıyorum

Mesaj gönderen yusuf »

Aynı konuda sıkıntım var hocam yardımcı olurmusunuz

if not FieldByName('resim').Isnull then burada bir hata veriyor çözemedim

Kod: Tümünü seç

'
var bloğunda tanımlanacaklar' 
var 
    jpgresim:Tjpegimage; 
    blobalan:Tadoblobstream; 


        [b]if not FieldByName('resim').Isnull then [/b]bu bölümde bir hata var bulamadım
        begin 
          blobalan:=TADOBlobStream.Create(TGraphicField(FieldByName('resim')), bmread); 
          jpgresim:=tjpegimage.create; 
          jpgresim.LoadFromStream(blobalan); 
          Image1.Picture.Assign(jpgresim); 
          jpgresim.free; 
          blobalan.free; 
        end; 
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Ne hatası alıyorsun ? Hatayı yazarsan ona göre cevap verebiliriz. :idea:

- Burada öngördüğüm hata, veritabanında "resim" adına blob bir alanın olmadığı yönünde..
Resim
Resim ....Resim
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

if not TabloAdi.FieldByName('resim').Isnull then şeklinde deneyin. Ayrıca uses kısmına Jpeg unit ini ekleyin :idea:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Bence tablosunda resim isminde bir alan yok.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
yusuf
Üye
Mesajlar: 139
Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL

Arkadaşlar dediklerinizi yaptım

Mesaj gönderen yusuf »

hata mesajı şöyle 'Invalid argument'
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
fieldbyname den önce tablonun adını yazmanız lazım.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
varyemez
Üye
Mesajlar: 262
Kayıt: 01 Oca 2009 11:00
Konum: Bursa
İletişim:

Re: Access dosyası, Jpeg ve Blob Alan (Bilmeyenlere)

Mesaj gönderen varyemez »

çok kısa bir soru sorayım..
Bu blob alanda token saklayabilirmiyiz. Access token çok uzun 1 MB kadar. RestApi ile aldığımız access token ve refresh tokeni nasıl saklayalım, string alanda sıkıntı çıkarır sanırım..
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Access dosyası, Jpeg ve Blob Alan (Bilmeyenlere)

Mesaj gönderen sabanakman »

Blob alanlara yazma ve okuma işlemleri TStream sınıfı ile yapılmaktadır. TStringStream sınıfı ile de bu istediğinizi yapabilirsiniz sanırım.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Cevapla