怎么把varbinary字段中的文件取出来并保存成文件?
表结构是:
表名:test
ID         INT
field      varbinary现在是将一个图片保存到field字段,请问高手们怎么将这个图片取出并保存成文件!!

解决方案 »

  1.   

    把文件读到文件流里面用TBlobField(AdoTable.FieldByName('field')).LoadFromFile('TempFile.bmp')保存。
    存储的时候用
    TBlobField(AdoTable.FieldByName('field')).SaveToFile('c:\temp.bmp');
    这样不会出现乱码
      

  2.   

    http://www.delphibbs.com/keylife/iblog_show.asp?xid=4556
      

  3.   

    TBlobField(AdoTable.FieldByName('field')).SaveToFile('c:\temp.bmp');
    报错
      

  4.   

    报什么错误,如果是SQLServer,'field'字段类型改为Image试试。
      

  5.   

    用TBlobField(AdoTable.FieldByName('field')).LoadFromFile('TempFile.bmp')存储到数据库吗?
      

  6.   

    保存的代码 
     S:=TMemorystream.Create();
      try
        image1.Picture.Bitmap.SaveToStream(S);
        s.Position:=0;
        ADOQuery1.Close;
        ADOQuery1.SQL.Clear;
        ADOQuery1.SQL.Add('INSERT INTO test(field,bz)');
        ADOQuery1.SQL.Add('VALUES(:field,:bz)');
        ADOQuery1.Parameters.Items[0].LoadFromStream(s,ftVarBytes);  //
        ADOQuery1.Parameters.Items[1].Value:='1';读取的代码:  ADOQuery1.SQL.Add('SELECT field FROM test ');
      ADOQuery1.SQL.Add('Where ID=:ID');
      ADOQuery1.Parameters.Items[0].Value:='1';
      try
        try
        ADOQuery1.Open;
        s:=TMemorystream.Create ;    with ADOQuery1 do
            (FieldByName('field') as TBlobField).SaveToFile('c:\1.bmp');读取时候出错!!!