存入.bmp容易, jpg你可以用1stclass 3000里有个控件,

解决方案 »

  1.   

    先把JPG转变为BMP,然后保存。
      

  2.   

    利用流
    var
    FileStream:TFileStream;
     BlobStream:TadoBlobStream;   
    begin
       FileStream:=TFileStream.Create(opendialog1.FileName,fmOpenRead);
       temptable.Edit;
       BlobStream:=TadoBlobStream.Create(TMemoField(temptable.FieldByName('img_attach')),bmreadWrite);
       BlobStream.Seek(0,soFromBeginning);
       BlobStream.Truncate;
       BlobStream.CopyFrom(FileStream,FileStream.size);
       filestream.Free;
       BlobStream.free;
       temptable.Post;
       end;
      

  3.   

    上面的代码还支持avi上窜到数据库中
      

  4.   

    也不知是什麼時候從網上下的這個實例,現在借花獻佛僅供參考:在SQL Server中建立TEST表,两个字段,id varchar(10),photo image(16);
    procedure TForm1.BitBtn1Click(Sender:TObject);
    begin
       openpicturedialog1.execute;
       image1.picture.loadfromfile(openpicturedialog1.filename);
    end;procedure TForm1.BitBtn2Click(Sender: TObject);
    var     
           graphic1:Timage;
    begin
       graphic1:=Timage.Create(self);
       graphic1.picture.loadfromfile(openpicturedialog1.filename);
       table1.Open;
       table1.insert;
       table1.fieldbyname(’id’).asstring:=’121’;
       table1.fields[1].assign(graphic1.Picture);
       table1.post;
       table1.close;
       graphic1.free;
    end;
      

  5.   

    procedure TEmp_Form.SetPicture(EmpID: string; TempQuery: Tadoquery);
    var
      MS_JpegStream:TMemoryStream;
      M_BitMap:TBitMap;
      M_Jpeg:TJpegImage;
    begin
      try
        MS_JpegStream:=TMemoryStream.Create;
        M_BitMap:=TBitMap.Create;
        M_Jpeg:=TJpegImage.Create;
        if extractfileext(filename)='.bmp' then
          begin
            M_BitMap.LoadFromFile(filename);
            M_Jpeg.Compress;
            M_Jpeg.Assign(M_BitMap);
          end
        else if extractfileext(filename)='.jpg' then
          begin
            M_Jpeg.LoadFromFile(filename);
          end;
        M_Jpeg.SaveToStream(MS_JpegStream);
        with tempQuery do
          begin
            close;
            sql.clear;
            sql.Add('update userinfo set userphoto_ui=:IMage where userno_ui=:empid');
            parameters.ParamByName('empid').value:=trim(empid);
            parameters.ParamByName('image').LoadFromStream(MS_JpegStream,ftblob);
            ExecSQL;
          end;
      finally
        MS_JpegStream.Free;
        M_BitMap.Free;
        M_Jpeg.Free;
      end;
    end;测试通过给分吧!
      

  6.   

    当然,你可以自己改成INSERT 或者是什么别的东西