23-01-2023, Saat: 15:14
23-01-2023, Saat: 15:14
23-01-2023, Saat: 16:15
Form3.UniQuery1.ParamByName('pic').LoadFromStream(BlobStream,ftblob);
Satırından kaynaklı bir hata uyarısıdır.pic parametresi yok diyor.
Çözüm:
Form3.UniQuery1.ParamByName('pic').LoadFromStream(BlobStream,ftblob);
satırından hemen önce şu kodu yazın.Form3.UniQuery1.Prepared:=True;
olmaz ise;
Şunu deneyin
Form3.UniQuery1.Params[0].LoadFromStream(BlobStream,ftblob);
23-01-2023, Saat: 16:30
(23-01-2023, Saat: 16:15)RAD Coder Adlı Kullanıcıdan Alıntı: [ -> ]evet 2. seçenek sorunumu çözdü Harikasın teşekkür ederim ....Form3.UniQuery1.ParamByName('pic').LoadFromStream(BlobStream,ftblob);Satırından kaynaklı bir hata uyarısıdır.
pic parametresi yok diyor.
Çözüm:
Form3.UniQuery1.ParamByName('pic').LoadFromStream(BlobStream,ftblob);satırından hemen önce şu kodu yazın.
Form3.UniQuery1.Prepared:=True;
olmaz ise;
Şunu deneyin
Form3.UniQuery1.Params[0].LoadFromStream(BlobStream,ftblob);
23-01-2023, Saat: 18:13
Üstadım peki veritabanına çektiğim image'yi istediğim bir forum üzerindeki image 'ye nasıl çekebilirim ?
24-01-2023, Saat: 09:35
DB den bir fotoğrafı alıp, göstermek:
Resmi DB ye kaydetmek:
var
msFoto: TMemoryStream;
begin
msFoto := TMemoryStream.Create;
try
TBlobField(FDMemTable1.FieldByName('FOTO')).SaveToStream(msFoto);
msFoto.Position := 0;
Image1.Picture.LoadFromStream(msFoto);
finally
msFoto.Free;
end;
end;
Resmi DB ye kaydetmek:
var
msFoto: TMemoryStream;
begin
msFoto := TMemoryStream.Create;
try
FDMemTable1.Append;
TBlobField(FDMemTable1.FieldByName('FOTO')).LoadFromFile('D:\Download\abc.png');
FDMemTable1.Post;
finally
msFoto.Free;
end;
end;
24-01-2023, Saat: 16:29
(24-01-2023, Saat: 09:35)RAD Coder Adlı Kullanıcıdan Alıntı: [ -> ]DB den bir fotoğrafı alıp, göstermek:
var msFoto: TMemoryStream; begin msFoto := TMemoryStream.Create; try TBlobField(FDMemTable1.FieldByName('FOTO')).SaveToStream(msFoto); msFoto.Position := 0; Image1.Picture.LoadFromStream(msFoto); finally msFoto.Free; end; end;
Resmi DB ye kaydetmek:
var msFoto: TMemoryStream; begin msFoto := TMemoryStream.Create; try FDMemTable1.Append; TBlobField(FDMemTable1.FieldByName('FOTO')).LoadFromFile('D:\Download\abc.png'); FDMemTable1.Post; finally msFoto.Free; end; end;
External Exeption 0. Hatası alıyorum acaba göstermek istediğim image'nin boyu önemli mi ?
24-01-2023, Saat: 16:38
Boyut ile ilgili bir sorun olduğunu sanmıyorum.
Tahminimce resmin dosya tipinden kaynaklı olabilir.
DB deki dosya tipiniz nedir?
Debug yaptığınızda hangi satırda bu hatayı alıyorsunuz?
Hatayı tam olarak paylaşabilir misiniz?
Tahminimce resmin dosya tipinden kaynaklı olabilir.
DB deki dosya tipiniz nedir?
Debug yaptığınızda hangi satırda bu hatayı alıyorsunuz?
Hatayı tam olarak paylaşabilir misiniz?
24-01-2023, Saat: 18:14
sıraya göre image yüklüyorum siras 25 olduğu yerde bu hatayı veriyor
procedure TForm3.Button2Click(Sender: TObject);
var
siras:Integer;
i,n:Integer;
msFoto: TMemoryStream;
begin
Form3.UniQuery1.Close;
Form3.UniQuery1.SQL.Clear;
Form3.UniQuery1.SQL.Add('select * from data_ilan ');
Form3.UniQuery1.Open;
n:=Form3.UniQuery1.RecordCount;
msFoto := TMemoryStream.Create;
// try
//TBlobField(UniQuery1.FieldByName('pic')).SaveToStream(msFoto);
//msFoto.Position := 0;
//finally
//msFoto.Free;
//end;
for i := 0 to n-1 do
begin
siras:= Form3.UniQuery1sira.Value;
Form3.UniQuery1.Next;
TBlobField(UniQuery1.FieldByName('pic')).SaveToStream(msFoto);
//msFoto.Position := 0;
msFoto.Free;
if siras= 1 then
begin
Memo1.Lines.Clear;
Memo1.Lines.Add(Form3.UniQuery1metin.Value);
Image1.MultiResBitmap.LoadFromStream(msFoto);
end
else if siras=2 then
begin
Memo2.Lines.Clear;
Memo2.Lines.Add(Form3.UniQuery1metin.Value);
Image2.Bitmap.LoadFromStream(msFoto);
end
else if siras=3 then
begin
Memo3.Lines.Clear;
Memo3.Lines.Add(Form3.UniQuery1metin.Value);
Image3.Bitmap.LoadFromStream(msFoto);
end
else if siras=4 then
begin
Memo4.Lines.Clear;
Memo4.Lines.Add(Form3.UniQuery1metin.Value);
Image4.Bitmap.LoadFromStream(msFoto);
end
else if siras=5 then
begin
Memo5.Lines.Clear;
Memo5.Lines.Add(Form3.UniQuery1metin.Value);
Image5.Bitmap.LoadFromStream(msFoto);
end
else if siras=25 then
begin
Memo6.Lines.Clear;
Memo6.Lines.Add(Form3.UniQuery1metin.Value);
Image6.MultiResBitmap.LoadFromStream(msFoto);
end
end;
25-01-2023, Saat: 09:25
Merhabalar,
Yukarı da paylaşılan link'i tam olarak incelemenizi öneririm.
@RAD Coder > https://www.delphican.com/showthread.php...1#pid51741
yine aynı şekilde
Kolay gelsin.
Yukarı da paylaşılan link'i tam olarak incelemenizi öneririm.
@RAD Coder > https://www.delphican.com/showthread.php...1#pid51741
msFoto.Position := 0;nasıl kullanıldığını,
yine aynı şekilde
msFoto.Free;Hangi aşamadan sonra kullanıldığına dikkat edin.
Kolay gelsin.
25-01-2023, Saat: 09:56
(25-01-2023, Saat: 09:25)tekrar gözden geçirdim şu an sorunum düzeldi . hi_selamlar Adlı Kullanıcıdan Alıntı: [ -> ]procedure TForm3.Button2Click(Sender: TObject); var siras:Integer; i,n:Integer; msFoto: TMemoryStream; begin Form3.UniQuery1.Close; Form3.UniQuery1.SQL.Clear; Form3.UniQuery1.SQL.Add('select * from data_ilan '); Form3.UniQuery1.Open; n:=Form3.UniQuery1.RecordCount; for i := 0 to n-1 do begin siras:= Form3.UniQuery1sira.Value; Form3.UniQuery1.Next; if siras= 1 then begin Memo1.Lines.Clear; Memo1.Lines.Add(Form3.UniQuery1metin.Value); msFoto := TMemoryStream.Create; try TBlobField(UniQuery1.FieldByName('pic')).SaveToStream(msFoto); msFoto.Position := 0; Image1.Bitmap.LoadFromStream(msFoto); finally msFoto.Free; end; end else if siras=2 then begin Memo2.Lines.Clear; Memo2.Lines.Add(Form3.UniQuery1metin.Value); msFoto := TMemoryStream.Create; try TBlobField(UniQuery1.FieldByName('pic')).SaveToStream(msFoto); msFoto.Position := 0; Image2.Bitmap.LoadFromStream(msFoto); finally msFoto.Free; end; end else if siras=3 then begin Memo3.Lines.Clear; Memo3.Lines.Add(Form3.UniQuery1metin.Value); msFoto := TMemoryStream.Create; try TBlobField(UniQuery1.FieldByName('pic')).SaveToStream(msFoto); msFoto.Position := 0; Image3.Bitmap.LoadFromStream(msFoto); finally msFoto.Free; end; end else if siras=4 then begin Memo4.Lines.Clear; Memo4.Lines.Add(Form3.UniQuery1metin.Value); msFoto := TMemoryStream.Create; try TBlobField(UniQuery1.FieldByName('pic')).SaveToStream(msFoto); msFoto.Position := 0; Image4.Bitmap.LoadFromStream(msFoto); finally msFoto.Free; end; end else if siras=5 then begin Memo5.Lines.Clear; Memo5.Lines.Add(Form3.UniQuery1metin.Value); msFoto := TMemoryStream.Create; try TBlobField(UniQuery1.FieldByName('pic')).SaveToStream(msFoto); msFoto.Position := 0; Image5.Bitmap.LoadFromStream(msFoto); finally msFoto.Free; end; end else if siras=6 then begin Memo6.Lines.Clear; Memo6.Lines.Add(Form3.UniQuery1metin.Value); msFoto := TMemoryStream.Create; try TBlobField(UniQuery1.FieldByName('pic')).SaveToStream(msFoto); msFoto.Position := 0; Image6.Bitmap.LoadFromStream(msFoto); finally msFoto.Free; end; end end;Merhabalar,
Yukarı da paylaşılan link'i tam olarak incelemenizi öneririm.
@RAD Coder > https://www.delphican.com/showthread.php...1#pid51741
msFoto.Position := 0;nasıl kullanıldığını,
yine aynı şekilde
msFoto.Free;Hangi aşamadan sonra kullanıldığına dikkat edin.
Kolay gelsin.