我问了3次怎么没人回答我呢?请问各位大哥一个小问题,请多指教

brighteast 2001-09-03 01:00:36
我用的是ACCESS数据库,用DBIMAGE控件来保存图片,请问如何保存?ACCESS数据库中用什么字段类型. 如何保存图片到数据库?请各为帮帮忙吧, thank you.
...全文
132 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwwwwwww 2001-09-03
  • 打赏
  • 举报
回复
你双击你的database控件,会打开一个界面,再按界面上的一个按钮“defaults",然后在parameter overrides内改!
brighteast 2001-09-03
  • 打赏
  • 举报
回复
在问一个,
BLOBS TO CACHE=64
BLOB SIZE=1024
在哪里设置的???
wwwwwwww 2001-09-03
  • 打赏
  • 举报
回复
要USES jpeg!
brighteast 2001-09-03
  • 打赏
  • 举报
回复
为什么会出现"undeclared identifier:'Tjpegimage'"的错误呢?
wwwwwwww 2001-09-03
  • 打赏
  • 举报
回复
写入图片
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;
brighteast 2001-09-03
  • 打赏
  • 举报
回复
不能用TABLE1的吗?
wwwwwwww 2001-09-03
  • 打赏
  • 举报
回复
//保存
procedure TForm1.ImageIntoDBBitBtnClick(Sender: TObject);
begin
try
with Query1 do
begin
close;
sql.clear;
sql.add('insert into img (imga) values(:imag)');
end;
try
if FileName<>'' then
ParamByName('Img').LoadfromFile(FileName,ftGraphic)
else
ParamByName('Img') .asBlob:='';
Query1.ExecSQL;
except
ShowMessage('图片保存出错!');
exit;
end;
except
end;
end;

//读取
procedure TForm1.ImageFromDBBitBtnClick(Sender: TObject);
var
m_jpegstream:tmemorystream;
begin
with Query1 do
begin
close;
sql.clear;
sql.Add('select imga from img');
try
Open;
except
exit;
end;
end;
if (Query1.FieldByName('imga') as tblobfield).asstring='' then
begin
exit;
end
else
begin
try
try
m_jpegStream:=TMemoryStream.Create;
(Query1.fieldbyname('imga') as TBlobField).SaveToStream(m_JpegStream);
m_JpegStream.Position:=0;
try
image2.Picture.Graphic:=nil;
image2.Picture.Graphic:=TJpegImage.Create;
image2.Picture.Graphic.LoadFromStream(m_JpegStream); //读Jpeg
except
Image2.Picture.Bitmap.LoadFromStream(m_JpegStream); //读Bmp
end;
except
end;
finally
m_JpegStream.Free;
Query1.Close;
Query1.UnPrepare;
end;
end;
end;
brighteast 2001-09-03
  • 打赏
  • 举报
回复
save 怎么写呢?详细点好吗?
bigsail 2001-09-03
  • 打赏
  • 举报
回复
你使用的DBIMAGE控件里面有个方法PasteFromClipboard,然后Save就可以 :-)
brighteast 2001-09-03
  • 打赏
  • 举报
回复
请说的详细点好吗?怎么没人回答呢?
brighteast 2001-09-03
  • 打赏
  • 举报
回复
没有保存呀
black_fox 2001-09-03
  • 打赏
  • 举报
回复
用什么字段啊。肯定是ole字段。 至于怎么保存,delphi自己有个demo。不过不是基于access的。你去看一下吧。。在D:\Borland\Delphi5\Demos\Db\Fishfact
tikkypeng 2001-09-03
  • 打赏
  • 举报
回复
字段设成Ole对象可以保存图片~~
墨梅无痕 2001-09-03
  • 打赏
  • 举报
回复
好像是BLOB类型吧;
操作和其他字段一样;
brighteast 2001-09-03
  • 打赏
  • 举报
回复
为什么没人回答呢?

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧