//存
AdoTable1.Append;
TBlobField(AdoTable1.FieldByName('Picture')).LoadFromFile('c:\temp.jpg');
AdoTable1.Post;

解决方案 »

  1.   

    直接从文件读
    (query1.FieldByName('img') as TBlobField).LoadFromFile('e:\temp.jpg');
      

  2.   

    如果是jpg文件,需要用其它的方法存储, delphi本身自带的dbimage,只能存.bmp文件, 但可以通过转换, 通过数据流的方式将其存进去。如果你真的要想存.jpg格式的文件,而不通过转换, 我发现一个控件可以做到  1sctlass控件包可以做到。他提供的dbimage可以存放.bmp, .jpg, .ico
    好几种格式, 只要改变其存储属性即可. 在www.51delphi.com有下载
      

  3.   

    如果你是用dbimage来显示图象的话,就只能是bmp了其实直接普通的image来显示数据库中的图象文件就行了,只需多花几步而已。
      

  4.   

    ==========嘻嘻,又来骗分了============
    use jpeg;
    procedure TForm1.DBImage1DblClick(Sender: TObject);
    var filepath,extname:string  ;
        jpeg:Tjpegimage;begin
        query1.RequestLive:=true;
        if openpicturedialog1.Execute then
        begin
             filepath:=openpicturedialog1.FileName;
             if filepath<>'' then
           extname:=extractfileext(filepath);
             if (uppercase(extname)='.JPEG') or (uppercase(extname)='.JPG')  then
             begin
             query1.Edit;
             jpeg:=Tjpegimage.Create;
             jpeg.LoadFromFile(filepath);
             dbimage1.Picture.Graphic.Assign(jpeg);
             end
             else
             begin
             query1.edit;
             query1graphic.LoadFromFile(filepath);
             end;
             query1.Post;
             end;
    end;