我用的是sqlserver的数据库,怎么样在数据库里面存取图片呢?
如题
问题点数:50、回复次数:3Top
1 楼chb5210(沉默)回复于 2006-03-08 10:47:15 得分 25
uses jpeg;
procedure TForm1.Button1Click(Sender: TObject); // 插入图片过程
var
testStream:TMemoryStream;
begin
try
testStream := TMemoryStream.Create; // 创建内存流
Image1.Picture.Graphic.SaveToStream(testStream); // 将图片保存到内存流中
adoquery1.Close;
adoquery1.SQL.Clear;
adoQuery1.SQL.Add('Insert into tbltemp (Image) values (:photo)'); // 进行插入操作
adoQuery1.Parameters.ParamByName('photo').LoadFromStream(testStream,ftBlob); // 读取保存的内存图
adoquery1.ExecSQL;
finally
testStream.Free; // 释放内存流
end;
end;
procedure TForm1.Button2Click(Sender: TObject); //读取图片过程
var
mStream:TMemoryStream;
JpgFile:TjpegImage;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text:='SELECT * FROM tbltemp'; // 查询图片
ADOQuery1.Open;
if not ADOQuery1.FieldByName('Image').IsNull then begin ;
mStream:=TMemoryStream.Create ;
JpgFile:=TjpegImage.Create ;
TBlobField(ADOQuery1.FieldByName('Image')).SaveToStream(mStream); // 显示的转换为BlobField并保存到内存流
mStream.Position :=0;
jpgfile.LoadFromStream(MStream); // 加载图片
image2.Picture.Assign(JpgFile);
end
else begin
image2.Picture :=nil;
end;
end;
你试试
Top
2 楼janezjtjdx(学习中)回复于 2006-03-08 11:18:13 得分 25
var
myfilestream:tfilestream;
myblob:tblobfield;
file_path:string;
begin
file_path:=opendlg1.filename;
adoquery1.append;
myfilestream:=tfilestream.Create(file_path,fmopenread);
myblob:=tblobfield(adoquery1.FieldByName('字段名'));
myblob.LoadFromStream(myfilestream);
myfilestream.Free;
end;
adoquery1.Post;
保存Top
3 楼comerliang(天地良心)(性欲被自己倒分倒没了,以后再也不敢倒分了,想倒分的兄弟看看我的下场吧,男人没了性欲真不爽)回复于 2006-03-09 08:23:18 得分 0
google下,很多源代码的Top




