db image resim sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
alicilin
Üye
Mesajlar: 15
Kayıt: 23 Ara 2014 04:11
Konum: Şırnak
İletişim:

db image resim sorunu

Mesaj gönderen alicilin »

merhaba arkadaşlar. Ben db firedac componentleri ile sqlite veritabanı kullanıyorum. Resimler adında bir veritabanım var. Ve bu resimler veritabanında resimler adında bir tablom var. resimler adındaki tablomun 3 adet stunu bulunmakta. bunlar;
id
isim
resim
şeklinde. Ben resim alanını blob olarak ayarladım ve bu alana resim eklemek istiyorum. Bunun için formuma db image nesnesi koydum. Formumda bir adet te opendialog nesnesi var.
Dataseti edit veya insert moda alıyorum

Kod: Tümünü seç

DBImage1.Picture.LoadFromFile(OpenDialog1.FileName);
dbimage'a bu şekilde resimi yüklüyorum kaydet dediğim zaman kayıt etmiyor. Blob alanı null olarak gösteriyor. Forumda okadar aramama rağmen benim sorunumla ilgili bir bilgiye rastlamadım. Daha doğrusu rastladım ama verilen cevaplar tatmin edici değildi.

yardımcı olursanız sevinirim
Önemli olan bilip bilmemek değil. Öğrenebilecek kapasitede olmak
thelvaci
Kıdemli Üye
Mesajlar: 770
Kayıt: 11 Tem 2010 07:17
Konum: Istanbul
İletişim:

Re: db image resim sorunu

Mesaj gönderen thelvaci »

Bu tarz bir kodun işinize yaraması gerekir.

Kod: Tümünü seç

  var
    mem : TMemoryStream;
  begin
    mem := TMemoryStream.Create;
    try
      mem.LoadFromFile('c:\xyz.bmp');
      mem.Position := 0;
      DataSet.Edit;
      TBlobField(DataSet.FieldByName('resimalaniniz')).LoadFromStream(mem);
      DataSet.Post;
    finally
      mem.Free;
    end;
  end;
alicilin
Üye
Mesajlar: 15
Kayıt: 23 Ara 2014 04:11
Konum: Şırnak
İletişim:

Re: db image resim sorunu

Mesaj gönderen alicilin »

Cevabınız için çok teşekkür ederim şu kodla çözdüm işi

Kod: Tümünü seç

procedure TForm1.Resim_secClick(Sender: TObject);
Var
Bmp_resim : TBitmap;
Jpeg_resim : TJpegImage;
begin
OpenDialog1.Execute;
Bmp_resim := TBitmap.Create;
Jpeg_resim := TJpegImage.Create;
Jpeg_resim.LoadFromFile(OpenDialog1.FileName);
Bmp_resim.Width := Jpeg_resim.Width;
Bmp_resim.Height := Jpeg_resim.Height;
Bmp_resim.Canvas.Draw(0, 0, Jpeg_resim);
DBImage1.Picture.Assign(Bmp_resim);
end;
Önemli olan bilip bilmemek değil. Öğrenebilecek kapasitede olmak
Cevapla