表:tbDatabase
字段:DBImage
现在要将C:\image1.jpg存放到DBImage字段中。
请问一下delphi中如何实现存放 及 从数据字段中读取?
最好提供一下完整的代码。太大的话希望能发一份给小弟。
[email protected]。
字段:DBImage
现在要将C:\image1.jpg存放到DBImage字段中。
请问一下delphi中如何实现存放 及 从数据字段中读取?
最好提供一下完整的代码。太大的话希望能发一份给小弟。
[email protected]。
msmem:TmemoryStream;
jpg:TJpegImage;
begin
if cxImage1.Picture.graphic<>nil then
begin
msmem:=TmemoryStream.Create;
Jpg:=TjpegImage.Create;
jpg.Assign(cxImage1.Picture.Graphic);
jpg.SaveToStream(msmem) ; // 1
msmem.Position :=0;
TBlobField(FieldByName('图片')).LoadFromStream(msmem);
Msmem.Free ;
jpg.Free;
end;
end;读
procedure TF_hw_cp.DBGridEh1CellClick(Column: TColumnEh);
var
ms:TStringStream;
Jpg:TJpegImage;
begin
if ADQ_BM_PM.FieldByName('图片').AsString<>'' then
begin
ms:=TstringStream.Create('');
Jpg:=TJpegImage.Create;
TBlobField(ADQ_BM_PM.FieldByName('图片')).SaveToStream(ms);
jpg.LoadFromStream(ms);
ms.Position :=0;
Jpg.LoadFromStream(ms); cxImage1.Picture.Assign(jpg); cxImage1.Visible:=true;
end else
cxImage1.Picture:=nil;end;
TmpImage:TmemoryStream;
TmpJpg:TJpegImage;
begin
Query1.SQL.Clear;
Query1.SQL.Add('Insert into Table(Image) Values(:Image)');
if OpenPictureDialog1.Execute then
begin
TmpImage := TMemoryStream.Create;
TmpJpg := TJPEGImage.Create;
TmpJpg.LoadFromFile(OpenPictureDialog1.FileName);
TmpJpg.SaveToStream(TmpImage);
TmpImage.Position :=0;
Query1.Parameters[0].LoadFromStream(TmpImage,ftBlob)
TmpImage.Free ;
TmpJpg.Free;
end;
Query1.ExecSql;
Query1.Close;
end;读也差不多鸟