procedure TForm1.Button1Click(Sender: TObject);
var
MS: TMemoryStream;
begin
MS:=TMemoryStream.create;
Image1.Picture.Bitmap.SaveToStream(MS);
MS.Position:=0;
Table1.Append;
//在数据库中添加一条记录
table1.FieldByName('picname').AsString:='gmmdfg';
TBlobField(Table1.FieldbyName('pic')).LoadFromStream(MS);
Table1.Post;
end; 在存取图像的遇到一个问题是typecast是非法类,为什么,怎么解决?
有没有其他的办法呢?
var
MS: TMemoryStream;
begin
MS:=TMemoryStream.create;
Image1.Picture.Bitmap.SaveToStream(MS);
MS.Position:=0;
Table1.Append;
//在数据库中添加一条记录
table1.FieldByName('picname').AsString:='gmmdfg';
TBlobField(Table1.FieldbyName('pic')).LoadFromStream(MS);
Table1.Post;
end; 在存取图像的遇到一个问题是typecast是非法类,为什么,怎么解决?
有没有其他的办法呢?
解决方案 »
- Delphi中对线程的再次理解
- 一个很实用的问题,怎样通过代码直接调用已编译好的a.exe?
- GMail邀请
- [求助]需要WindowsXP和Outlook的使用指南各1份,各给100分
- 高分求字符串比较的解决原代码——100分
- 请问,谁有梭哈的源程序??
- 急救
- 快过年了,送大家一个我刚做的搞笑软件!(up有分)
- 三层问题,当某个客户端调用服务器Dll时,在服务器端怎样识别哪个客户端在调用
- 分布式计算,如何防止数据伪造和纂改,希望大家来讨论讨论
- 在Windows平台上开发一个Access的小型数据库系统用ADO好还是用BDE好??
- 急问题,在MID窗口中,我如何知道,某一个窗口是否已经关闭?在线等待
读出、写入借助stream。
写入:
var
ms:tmemorystream;
begin
ms:=TmemoryStream.Create;
ms.Loadfromfile(“1.jpg”);
if ms.size>0 then
begin
ms.position:=0;
(Clientdateste1.fieldbyname('dipicture') as Tblobfield).loadfromstream(ms);
end ;
end;读出:
var
ms:tstream;
myjpg:tjpegImage;
begin
ms:=clientdataset1.createblobstream(clientdataset1.fieldbyname('dipicture'),bmread);
if ms.size>0 then
begin
ms.position:=0;
myJpg:=tjpegimage.create;
myJpg.loadFromstream(ms);
Image1.Picture.assign(myjpg);//在Image1中显示出来
end;
end;