image字段 使用TBlobstream来存取数据,同时TDatabase中的属性BlobSize确定了可以存取的最大Blob字段数据大小,这个值缺省为32,表示32K.你可能需要将它改大一些。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 invalid blob length 错误,要在BDE Administratro中,相应的数据库别名处设置,把BlobSize,和Blobs to cache都调大一些,注意:够用就行,不要调的太大。用一个image控件下面是一个简单的例子。JPEG的写入图片procedure TForm1.Button1Click(Sender: TObject);var ms: TStream; bm: TJpegImage;beginif OpenPictureDialog1.Execute then begin table1.Open; table1.Append; bm := TJpegImage.Create; bm.LoadFromFile(OpenPictureDialog1.FileName); image1.Picture.Graphic := bm; Table1.Edit; ms := Table1.CreateBlobStream(table1.FieldByName('test'), bmWrite); image1.Picture.Graphic.SaveToStream(ms); Table1.Post; bm.Free; end; ms.Free;end;从数据库中读取图片procedure TForm1.Button2Click(Sender: TObject);var ms: TStream; bm :TjpegImage;beginif table1.Active then begin bm := TjpegImage.Create; ms := Table1.CreateBlobStream(table1.FieldByName('test'), bmRead); bm.LoadFromStream(ms); image1.Picture.Assign(bm); bm.Free; ms.Free; end;end; foxling(阿飞林)大侠,您以上的程序我试了一下,可以通过,但有一warning,如下:[warning]unit1.pas(47):variable 'ms' might not have been initialied请问这是什么意思,应该如何解决??? 把button1结尾处代码 bm.Free; end; ms.Free;该为 bm.Free; ms.Free; end;就行了。 GetPixel获取指定窗口坐标颜色出错!~ 关于listview1添加图片出现问题 如何在表格里面加显示记录个数的状态栏? QuantumGrid,cxGrid如何在某列添加一个按钮?得到焦点是显示,否则不显示. 关于一个插入数据行的问题。 程序里调用EXE??????????????????????在线等待 散分,为★中国首次载人飞行成功★ 哪位朋友用过OleInitialize ? 怎样使StrmServ得到传文件来的那方的因特网IP 申明:若为下列问题争得头破血流,恕本人概不负责! Delphi 里执行DOS命令的函数是什么? 如何实现窗口过渡显示效果!?谢谢高手赐教!
把BlobSize,和Blobs to cache都调大一些,注意:够用就行,不要调的太大。
用一个image控件下面是一个简单的例子。JPEG的写入图片
procedure TForm1.Button1Click(Sender: TObject);
var ms: TStream;
bm: TJpegImage;
begin
if OpenPictureDialog1.Execute then
begin
table1.Open;
table1.Append;
bm := TJpegImage.Create;
bm.LoadFromFile(OpenPictureDialog1.FileName);
image1.Picture.Graphic := bm;
Table1.Edit;
ms := Table1.CreateBlobStream(table1.FieldByName('test'), bmWrite);
image1.Picture.Graphic.SaveToStream(ms);
Table1.Post;
bm.Free;
end;
ms.Free;
end;从数据库中读取图片
procedure TForm1.Button2Click(Sender: TObject);
var ms: TStream;
bm :TjpegImage;
begin
if table1.Active then
begin
bm := TjpegImage.Create;
ms := Table1.CreateBlobStream(table1.FieldByName('test'), bmRead);
bm.LoadFromStream(ms);
image1.Picture.Assign(bm);
bm.Free;
ms.Free;
end;
end;
[warning]unit1.pas(47):variable 'ms' might not have been initialied
请问这是什么意思,应该如何解决???
bm.Free;
end;
ms.Free;
该为
bm.Free;
ms.Free;
end;就行了。