이미지를 데이터베이스로로드하는 데 많은 걸음을 내딛었지만 업데이트 또는 삽입 매개 변수를 찾지 못했습니다.
매개 변수에 그래픽 개체를 지정하기 만하면됩니다. 다른 그래픽 유형을 저장하려면 열 종류 을 추가하여 어떤 종류의 그래픽을 저장해야하는지 (예 : jpeg, bmp, png)를 유지해야합니다. 데이터베이스에서 그림을 검색하려면 필요한 TGraphic 클래스 자손을 만들 수 있어야합니다. DB에서
var
ms:tmemorystream;
Begin
ms:=tmemorystream.create;
ms.position:=0;
image1.picture.bitmap.savetostream(ms);
ms.position:=0;
with yourfield as tblobfield do
loadfromstream(ms);
freeandnil(ms);
end;
로드 : DB에 저장
uses jpeg, pngimage;
type
TitTYPES=(itJPG,itPNG,itBMP);
procedure TDEMO.Button1Click(Sender: TObject);
var
jp:TJpegimage;
g:TGraphic;
begin
jp:=TJpegimage.Create;
try
ads.Close;
jp.LoadFromFile('C:\Bilder1\PIC.jpg');
ads.SQL.Text := 'Insert into IMGBlob (ID,Blob,typ) Values (:ID,:BLOB,:typ)';
ads.Parameters[0].Value := 1;
ads.Parameters[1].Assign(jp);
ads.Parameters[2].Value := itJPG;
ads.ExecSQL;
ads.SQL.Text := 'Select * from IMGBlob where ID=:ID';
ads.Parameters[0].Value := 1;
ads.Open;
try
case TitTYPES(ads.FieldByName('typ').AsInteger) of
itJPG: g:=TJpegimage.Create;
itPNG: g:=TPNGImage.Create;
itBMP: g:=TBitmap.Create;
end;
g.Assign(ads.FieldByName('Blob'));
Image1.Picture.Assign(g);
finally
g.Free;
end;
finally
jp.Free;
end;
end;
자세한 내용을 추가하시기 바랍니다, 우리는 얘기는 SQL 서버이며, 어떤 구성 요소는'QRY로 표현된다 '변수? – whosrdaddy