Delphi求将image中的图片保存到数据库中代码

1、求代码:怎么把image控件中显示的图片,以年月日分秒(yyyymmddhhnnss)的文件名存入到ado链接的图片数据库文件(pic.dmf)中,主要链接图片数据库... 1、求代码:怎么把image控件中显示的图片,以年月日分秒(yyyymmddhhnnss)的文件名存入到ado链接的图片数据库文件(pic.dmf)中,主要链接图片数据库用到的是AdoConnection、ADOQuery、DataSource控件。
2、不要乱回答。只要代码,其他的不罗嗦,谢谢!
uses jpeg;
保存Image1中的图象至数据库 :
var
Ms:TmemoryStream;
jpg:Tjpegimage;
begin
ms:=TmemoryStream.Create;
Jpg.Assign(Image1.Picture.Graphic);
Jpg.SaveToStream(Ms) ;
Ms.Position :=0;
ADOquery1.append;
TBlobField(ADOquery1.FieldByName('filename')).LoadFromStream(Ms);
ADOquery1.Post;
Ms.Free ;
jpg.free;
end;
类似于上面的代码 ,不需要搞的很复杂,image控件在Form2里,数据库ado在Form1里。 还有将image中的图像压缩小。最好在几十kb左右进入数据库
展开
 我来答
billswhot
2010-05-12 · TA获得超过1015个赞
知道小有建树答主
回答量:1182
采纳率:0%
帮助的人:673万
展开全部
procedure TSqlHelp.WritePic(AResenderMark,AItem:string;AItemValue:TStream);
begin
if (AResenderMark='') or (AItem='') then exit;
try
if not m_Connection.Connected then m_Connection.Connected:=True;
m_Connection.BeginTrans;
//showmessage(m_Connection.ConnectionString);
with m_QryWork do
begin
Close;
Sql.Clear;
Sql.Add('select * from zxx_sqlhelperData where ResenderMark=:ResenderMark and Item=:Item');
Parameters.ParamByName('ResenderMark').Value:=AResenderMark;
Parameters.ParamByName('Item').Value:=AItem;
Open;
if RecordCount=0 then
begin
append;
FieldByname('ResenderMark').AsString:=AResenderMark;
FieldByName('Item').AsString:=AItem;
TBlobField(FieldByName('ValuePic')).LoadFromStream(AItemValue);
Post;
end
else
begin
Edit;
TBlobField(FieldByName('ValuePic')).Clear;
Post;
Edit;
TBlobField(FieldByName('ValuePic')).LoadFromStream(AItemValue);
Post;
end
end;
m_Connection.CommitTrans;
except
on e:Exception do
begin
m_Connection.RollbackTrans;
//如果发现是线程问题比如到了最大连接数则可递归保存
//if pos('',e.Message)>0 then
//begin
// sleep(300);
// WriteData(AResenderMark,AItem,AItemValue);
// exit;
//end;

messagebox(Application.MainForm.Handle,pchar(e.Message),PAnsiChar(AResenderMark+'提示信息'),MB_OK or MB_ICONWARNING);
end;
end;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6c2079901
2010-05-12 · TA获得超过229个赞
知道小有建树答主
回答量:127
采纳率:0%
帮助的人:0
展开全部
ADOquery1.append;
TBlobField(ADOquery1.FieldByName('filename')).Assign(Image1.Picture.Graphic);
ADOquery1.Post;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式