adoquery1.Append;
tblobfield(adoquery1.FieldByName('files')).LoadFromStream(s);
adoquery1.FieldByName('name').Text:='我的文件';
adoquery1.Post;s是内存流类型提交后总是提示数据类型不对。请问一下,我的字段‘files’应该用什么类型的数据啊??急~~~~~~~~~~~~~

解决方案 »

  1.   

    保存
    ADOQuery1.Close; 
    ADOQuery1.SQL.Clear; 
    ADOQuery1.SQL.Add('insert into Pic values(.....,:Pic,...)'); 
    ................. 
    ADOQuery1.Parameters.ParamByName('Pic').Assign(Image1.Picture.Bitmap); 
    ................. 
    ADOQuery1.ExecSQL; 
    讀取
    Image1.Picture.Bitmap.Assign(TBLOBField(ADOQuery1.Parameters.ParamByName('Pic'))) 
      

  2.   

    数据库中的字段类型为Image类型,可以保存各种文件.
    在使用ADO组件时,使用TADOBlobStream流可以进得读写:
    写入数据库
    var
      BS:TADOBlobStream;
    begin
      ADOQuery1.append; 
      BS:=TADOBlobStream.create('blob字段名',bmWrite);
      BS.loadFromFile('文件名');
      TBlobField(ADOQuery1.FieldByName('blob字段名')).LoadFromStream(BS);
      ADOQuery1.post;
    end;
      

  3.   

    image就可以了,什么文件类型都可以存var
    stream:tmemorystream;
    begin
    stream:=tmemorystream.Create;
    stream.LoadFromFile(opendialog1.FileName);qinsert.Close;
    qinsert.SQL.text:='insert into films f_file)values(:f_image)';
    qinsert.Parameters.ParamByName('f_image').LoadFromStream(Stream,ftBlob)
    qinsert.execsql;