RT

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var ms: TFileStream;
    begin
    if OpenDialog1.Execute then
    begin
    MS:=TFileStream.Create(OpenDialog1.FileName, fmOpenRead);
    mS.Position:=0;
    adoquery1.Append;
    TBlobField(adoquery1.FieldbyName('abc')).LoadFromStream(MS);
    adoquery1.Post;
    mS.Free;
    end;
    end;OpenDialog1.FileName是你要保存的图片名
      

  2.   

    可以通过数据库按照二进制文件存入,也可以通过FTP或其他方法存成文件
      

  3.   

    http://www.yesky.com/SoftChannel/72342371928440832/20030929/1733136_1.shtml
    Delphi存取图像完整解决方案
      

  4.   

    //将图片加载到IMAGE控件中
    var filename:string;
    begin
        open1.Execute;
        if open1.FileName<>'' then
        begin
            filename:=extractfileext(open1.FileName);
            image1.Picture.LoadFromFile(open1.FileName);
            MS_JpegStream:=TMemoryStream.Create;
            M_BitMap:=TBitMap.Create;
            M_Jpeg:=TJpegImage.Create;
            if (FileName='.bmp') or (FileName='.BMP') then
            begin
                M_BitMap.LoadFromFile(Open1.FileName);
                M_Jpeg.Compress;
                M_Jpeg.Assign(M_BitMap);
            end
            else if (FileName='.jpg') or (FileName='.JPG') then
            begin
                M_Jpeg.LoadFromFile(open1.FileName);
            end;
            M_Jpeg.SaveToStream(MS_JpegStream);
        end;
    end;        
    //存入数据库
    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('insert into tt(image)');
    adoquery1.SQL.Add('values(:image)');
    adoquery1.parameters.ParamByName('image').LoadFromStream(MS_JpegStream,ftblob);
    adoquery1.ExecSQL;
      

  5.   

    请问,按楼上所说的做了, adoquery1.SQL.Clear;
    adoquery1.SQL.Add('insert into tt(image)');
    adoquery1.SQL.Add('values(:image)');
    adoquery1.parameters.ParamByName('image').LoadFromStream(MS_JpegStream,ftblob);
    adoquery1.ExecSQL;当执行到adoquery1.ExecSQL; 这句的时候
    为何提示 insert into 语法错误
    还望高手指点。
      

  6.   

    我是这样做的var
      stm               : TMemoryStream;
      varData           : Variant;
      adoQuery       : TADOQuery;
      param          : TParameter;
    begin
      stm:=TMemoryStream.Create;
        stm.LoadFromFile(dxtFilePath);
        stm.Seek( 0, soFromBeginning );
        size := stm.size;    // copy stream content to variant
        varData := varArrayCreate( [1, size], varByte );
        buffer := varArrayLock( varData );
        stm.Read( buffer^, size );
        varArrayUnlock( varData );    stm.Destroy;  strsql := format( 'update T_XX set DXT = :dxt where ID = %d',[intfXxObj.ID]);
          adoQuery.Close;
          adoQuery.SQL.Clear;
          adoQuery.SQL.Add( strsql );      param := adoquery.Parameters.FindParam('DXT');
          param.DataType := ftblob;      param.Value := varData;
          adoQuery.ExecSQL;
    end;
      

  7.   

    to: aiunong(凡)
    我是调试过的,没有出错,你再看看