procedure TForm1.KAYDETClick(Sender: TObject);
var
Field: TBlobField;
RESIM: TStream;
begin
if DEVRIYE_HAREKETLERI_DB.Active and (Image1.Bitmap <> nil) then
begin
DEVRIYE_HAREKETLERI_DB.Insert;
Field := TBlobField(DEVRIYE_HAREKETLERI_DB.FieldByName('RESIM1'));
RESIM := DEVRIYE_HAREKETLERI_DB.CreateBlobStream(Field, bmWrite);
try
Image1.Bitmap.SaveToStream(RESIM);
finally
RESIM.Free;
DEVRIYE_HAREKETLERI_DB.Post;
end;
end;
end;
Bu kod ilede Delphi 7 de göstermek istiyorum ama hata veriyor ? SQL2012 de alan alan türü "image"
procedure TForm1.btn1Click(Sender: TObject);
var
RESIM : TMemoryStream;
begin
RESIM:=TMemoryStream.Create;
TBlobField(QRY_RESIMLER_DB.FieldByName('RESIM1')).SaveToStream(RESIM);
img1.Picture.Bitmap.LoadFromStream(RESIM);
RESIM.Free;
end;
Jpeg error 53 anlamı yetersiz hafıza dır. Aynı hatayı içeriği bozulmuş Jpeg dosyaları için de alırsınız. Bu anlamda Jpeg kayıt kodlarınızı incelemenizde fayda var. Sorunun kaynağı database içine saklama kısmında olması yüksek ihtimal.
procedure TForm1.KAYDETClick(Sender: TObject);
var
Field: TBlobField;
RESIM: TStream;
begin
if DEVRIYE_HAREKETLERI_DB.Active and (Image1.Bitmap <> nil) then
begin
DEVRIYE_HAREKETLERI_DB.Insert;
Field := TBlobField(DEVRIYE_HAREKETLERI_DB.FieldByName('RESIM1'));
RESIM := DEVRIYE_HAREKETLERI_DB.CreateBlobStream(Field, bmWrite);
try
Image1.Bitmap.SaveToStream(RESIM);
finally
RESIM.Free;
DEVRIYE_HAREKETLERI_DB.Post;
end;
end;
end;
Bu kod ilede Delphi 7 de göstermek istiyorum ama hata veriyor ? SQL2012 de alan alan türü "image"
procedure TForm1.KAYDETClick(Sender: TObject);
var
MemoryStream: TMemoryStream;
begin
if DEVRIYE_HAREKETLERI_DB.Active and (Image1.Bitmap <> nil) then
begin
MemoryStream := TMemoryStream.Create();
try
Image1.Bitmap.SaveToStream(MemoryStream);
MemoryStream.Seek(0, 0);
DEVRIYE_HAREKETLERI_DB.Insert;
TBlobField(DEVRIYE_HAREKETLERI_DB.FieldByName('RESIM1').LoadFromStream(MemStream);
DEVRIYE_HAREKETLERI_DB.Post;
finally
MemoryStream.Free();
end;
end;
end;
bu kodda .LoadFromStream(MemStream); burada hata veriyor bunu çalıştıramadığım için diğer koduda deneyemiyorum fakat eski kaydettiğim resimleri açmıyor.
procedure TForm1.KAYDETClick(Sender: TObject);
var
MemoryStream: TMemoryStream;
begin
if DEVRIYE_HAREKETLERI_DB.Active and (Image1.Bitmap <> nil) then
begin
MemoryStream := TMemoryStream.Create();
try
Image1.Bitmap.SaveToStream(MemoryStream);
MemoryStream.Seek(0, 0);
DEVRIYE_HAREKETLERI_DB.Insert;
TBlobField(DEVRIYE_HAREKETLERI_DB.FieldByName('RESIM1').LoadFromStream(MemStream);
DEVRIYE_HAREKETLERI_DB.Post;
finally
MemoryStream.Free();
end;
end;
end;