表:tbDatabase
字段:DBImage
现在要将C:\image1.jpg存放到DBImage字段中。
请问一下delphi中如何实现存放 及  从数据字段中读取?
最好提供一下完整的代码。太大的话希望能发一份给小弟。
[email protected]

解决方案 »

  1.   

    用流 var
    msmem:TmemoryStream;
    jpg:TJpegImage;
    begin
     if cxImage1.Picture.graphic<>nil then
              begin
                msmem:=TmemoryStream.Create;
                Jpg:=TjpegImage.Create;
                jpg.Assign(cxImage1.Picture.Graphic);
                jpg.SaveToStream(msmem) ;            // 1
                msmem.Position :=0;
                TBlobField(FieldByName('图片')).LoadFromStream(msmem);
                Msmem.Free ;
                jpg.Free;
                end;
    end;读
    procedure TF_hw_cp.DBGridEh1CellClick(Column: TColumnEh);
    var
    ms:TStringStream;
    Jpg:TJpegImage;
    begin
     if ADQ_BM_PM.FieldByName('图片').AsString<>'' then
     begin
       ms:=TstringStream.Create('');
      Jpg:=TJpegImage.Create;
      TBlobField(ADQ_BM_PM.FieldByName('图片')).SaveToStream(ms);
      jpg.LoadFromStream(ms);
      ms.Position :=0;
      Jpg.LoadFromStream(ms);  cxImage1.Picture.Assign(jpg); cxImage1.Visible:=true;
      end else
      cxImage1.Picture:=nil;end;
      

  2.   

    TBolbFiled(dataset.Field[i]).LoadFrom...
      

  3.   

    Uses JPEG;var
      TmpImage:TmemoryStream;
      TmpJpg:TJpegImage;
    begin
      Query1.SQL.Clear;
      Query1.SQL.Add('Insert into Table(Image) Values(:Image)');
      if OpenPictureDialog1.Execute then
      begin
        TmpImage := TMemoryStream.Create;
        TmpJpg := TJPEGImage.Create;
        TmpJpg.LoadFromFile(OpenPictureDialog1.FileName);
        TmpJpg.SaveToStream(TmpImage);
        TmpImage.Position :=0;
        Query1.Parameters[0].LoadFromStream(TmpImage,ftBlob)
        TmpImage.Free ;
        TmpJpg.Free;
      end;
      Query1.ExecSql;
      Query1.Close;
    end;读也差不多鸟
      

  4.   

    http://www.jointdev.com/bbs/ShowTopic.asp?TopicID=82