如果不用数据控件的话,是比较简单的var
  ms:tmemorystream;
begin
  ms:=tmemorystream.Create;
  image1.Picture.Bitmap.SaveToStream(ms);
  ms.Position:=0;
  with query1 do
    begin
      close;
      sql.Clear;
      sql.Add('insert into image_table (id_im,test_im,image_im) values (:id,:test,:image)');
      parambyname('id').asinteger:=2;
      parambyname('test').asstring:='图';
      try
        parambyname('image').LoadFromStream(ms,ftblob);
      except
        ms.Free;
      end;
      execsql;
    end;
  ms.Free;

解决方案 »

  1.   

    bmp好说。主要是jpg。从库中调入显示
      

  2.   

    procedure TDfczlrtx2.Button1Click(Sender: TObject);
    begin
        if openpicturedialog1.Execute=true then
          dbimage1.Picture.LoadFromFile(openpicturedialog1.FileName );end;
      

  3.   

    下面是我设计的一个函数,可以实现把a.bmp文件传输到blobs字段中。
    dm.Adodataset1.Edit;
    dm.adodataset1.FieldByName('blobs').AsString:=blobtostring(‘C:\a.bmp’);
    function BlobToString(const FileName: string): string;
    var
      Fstream:Tfilestream;
    begin
        Fstream:=TFilestream.Create(Filename,fmopenread);
        setlength(Result,fstream.Size );
        Fstream.Read(pointer(result)^,fstream.Size);
        fstream.Free;
        end;
    end;
      

  4.   

    供你参考下:
    procedure TForm_employee.DBImage1MouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    var
      file_name: string;
      FileExt: string[4];
    begin
      if Button = mbRight then
         begin
           if OpenPictureDialog1.Execute then
              begin
                file_name:=OpenPictureDialog1.FileName;
                FileExt:=AnsiUpperCase(ExtractFileExt(file_name));
                if (FileExt = '.BMP') or (FileExt = '.ICO') or
                   (FileExt = '.WMF') or (FileExt = '.EMF') then
                   begin 
                     DBImage1.Picture.LoadFromFile(file_name);
                   end;
              end;
          end;
    end;
      

  5.   

    一般来说,只能保存bmp格式的图像文件,但是其他的格式怎么保存呢?