[Delphi2010] Oracle BLOB형 컬럼 다루기 (TBlobField)
Posted on 2014. 2. 24. 19:33
Filed Under Delphi
♣ 다운로드 from DB
var DataSet: TClientDataSet; begin ... sImagePath := 'C:\blob_img.jpg'; // 확장자는 미리 알아야 함 (DB에 저장할때 파일명/확장자를 같이 저장) TBlobField(DataSet.FieldByName('PARAM_NM')).SaveToFile(sImagePath); TBlobField(DataSet.FieldByName('PARAM_NM')).BlobSize /// 파일 사이즈 (바이트 단위)http://docwiki.embarcadero.com/Libraries/XE2/en/Data.DB.TBlobField.BlobSize
♣ 업로드 to DB
var fStream: TFileStream; SQLQuery: TSQLQuery; begin ... try fStream := TFileStream.Create(AFullPath, fmOpenRead); except on e : Exception do begin // '이미지 파일을 읽을 수 없습니다.' + #13#10 + e.Message end; end; // End of try // 방법1. 파일스트림을 업로드 SQLQuery.ParamByName('FLD_IMG').LoadFromStream(fStream, ftBlob); // 방법2. 파일을 업로드 SQLQuery.ParamByName('DRW_RST_IMG').LoadFromFile(sPath, ftBlob);
반응형