请问各位,怎么把一些小的图片存到SQL SERVER数据库里,或许有其他的方式存取更方便,希望能得到更多的这方面的信息,谢了!

解决方案 »

  1.   

    image数据类型可以保存小型图片文字等数据,具体用法查资料吧呵呵
      

  2.   

    image字段
    //压缩存储函数
    procedure Compress(var CompressedStream: TMemoryStream);
    var
      SourceStream: TCompressionStream;
      DestStream: TMemoryStream;
      Count: Integer;
    Begin
      Count := CompressedStream.Size;
      DestStream := TMemoryStream.Create;
      SourceStream:=TCompressionStream.Create(clMax, DestStream);
      Try
        CompressedStream.SaveToStream(SourceStream);
        SourceStream.Free;
        CompressedStream.Clear;
        CompressedStream.WriteBuffer(Count, SizeOf(Count));
        CompressedStream.CopyFrom(DestStream, 0);
      finally
        DestStream.Free;
      end;
    end;//写入数据
    var
      MemStream: TMemoryStream;
    begin
      if OpenPictureDialog1.Execute then
      begin
        if not FileExists(OpenPictureDialog1.FileName) then
        begin
          Application.MessageBox('您所添加的文件不存在!', '提示', MB_ICONINFORMATION);
          Exit;
        end;
        for I := 0 to OpenPictureDialog1.Files.Count - 1 do     //添加文件
        begin
          MemStream := TMemoryStream.Create;              //创建流
          try
            MemStream.LoadFromFile(OpenPictureDialog1.Files[I]);  //将文件读到流中去
            MemStream.Seek(0, soFromBeginning);
            Compress(MemStream);                 //压缩文件
            MemStream.Seek(0, soFromBeginning);
            with ADOQuery do
            begin
              Append;
              TBlobField(FieldByName('fieldname')).LoadFromStream(MemStream);
              ADOQuery2.Post;
             end;
          finally
            MemStream.Free;
          end;
        end;
      end;
    end;
      

  3.   

    简单例子:
        edit;
        Adotable1.FieldByName('myimage').Assign(image1.picture);
        post;
        --对就给我点分我的分没有了
      

  4.   

    //解压数据
    procedure UnCompress(const CompressedStream: TMemoryStream);
    var
      SourceStream: TDecompressionStream;
      DestStream: TMemoryStream;
      Buffer: PChar;
      Count: integer;
    Begin
      CompressedStream.Seek(0,soFromBeginning);
      CompressedStream.ReadBuffer(Count, SizeOf(Count));
      GetMem(Buffer, Count);
      DestStream := TMemoryStream.Create;
      SourceStream := TDecompressionStream.Create(CompressedStream);
      Try
        SourceStream.ReadBuffer(Buffer^, Count);
        DestStream.WriteBuffer(Buffer^, Count);
        DestStream.Position := 0;
        CompressedStream.LoadFromStream(DestStream);
      finally
        FreeMem(Buffer);
        DestStream.Free;
      end;
    end;