Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1226708
  • 博文数量: 788
  • 博客积分: 4000
  • 博客等级: 上校
  • 技术积分: 7005
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-19 15:52
文章存档

2017年(81)

2011年(1)

2009年(369)

2008年(337)

分类:

2008-11-05 09:52:20

请教,如何将image显示的图相保存到数据库中? Delphi / Windows SDK/API

请教,如何将image显示的图相保存到数据库中?   多谢了!!!!!!!!

看下例程  
 

以流的方式保存一下。我做过,就按照这样的。

var  
      _picture:   TFileStream;  
  begin  
            _picture:=   TFileStream.Create('c:\11.bmp',fmOpenRead);  
            with   ADOCommand   do  
            begin  
                    Parameters.Clear;  
                    Parameters.AddParameter.Name:='UserPicture';//添加一个参数    
                    Parameters.AddParameter.DataType:=   ftBlob;//参数类型为数据流  
                    if   _picture<>nil   then  
                          Parameters.ParamByName('UserPicture').LoadFromStream(_picture,ftBlob);//给参数赋值  
  //下面是你的insert   sql语句  
  //image类型字段在values里对应':userpicture'参数  
                            fsql:=   'insert   into   UserInfo   (UserID,USERNAME,LOGNNAME,'  
                                        +'UsePsw,UserSex,UserBirthday,LearnLevel,UserDutyName,UserDuty,UserSecOffice,'  
                                        +'SuitSpecID,DeptID,ClassID,UserAddr,UserPhone,UserPicture,UserPictureEx,UserPower,Remark)   '  
                                        +'values   ('+inttostr(fid)+','''  
                                        +trim(editName.Text)+''','''+trim(editLogn.Text)+''','''+trim(editPswd1.Text)+''','''  
                                        +cboxUserSex.Text+''',cdate('''+DateTimeToStr(UserBirthday.DateTime)+'''),'''  
                                        +cboxXl.Text+''','''+trim(editZc.Text)+''','''+trim(editZw.Text)+''','''  
                                        +trim(editKs.Text)+''','+inttostr(_SuitSpecID)+','+inttostr(_DeptID)+','''  
                                        +strTemp2+''','''+trim(editAddr.Text)+''','''+trim(editPhone.Text)+''',:userpicture,'''  
                                        +_picEx+''','+inttostr(_power)+','''+memo1.Text+''')';  
                            CommandText:=   fsql;  
                            try  
                                    Execute;  
                                    if   messagebox(Handle,pchar('添加用户成功!'+#13+#13+'是否继续添加?'),  
                                          pchar('提示'),mb_yesno+MB_ICONQUESTION)=mryes   then  
                                    begin  
   
                                    end   else   Close;  
                            except  
                            end;  
                    end;  
  end;



delphi2007 2008-11-05 09:40 发表评论
阅读(490) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~