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

请教,如何将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;

posted @ 2013-04-30 16:16  麦麦提敏  阅读(393)  评论(0)    收藏  举报