TBlobField(ADOTable1.FieldbyName('pic')).LoadFromStream(stream)出现invalid class typecast意外??难道TBlobField不适合于ADO吗?请多帮助

解决方案 »

  1.   

    TBlobField(ADOTable1.FieldbyName('pic')).LoadFromStream(stream,ftBlob);
    就行了。
      

  2.   

    首先谢谢 happyggy(阿牛De牛)'
    但LoadFromStream(Stream: TStream);只提供一个参数啊,编译不通过的啊
      

  3.   

    插入操作用ADOCommand,添加一个参数'file'然后这样写:
    procedure TExceltest.BitBtn1Click(Sender: TObject);
    var
       filestream: TFileStream;
    begin
      if OpenDialog1.Execute then //提交答案文件
      begin
       filestream := TFileStream.Create(Opendialog1.FileName,fmOpenRead);
         with ADOCommand1 do
         begin
            Parameters.ParamByName('file').LoadFromStream(filestream,ftBlob);//传文件
            CommandType := cmdText ;
            CommandText := 'insert into 表 values('''+trim(edit3.Text)+''',:file,'''+trim(edit1.Text)+''','''+datetimetostr(Now)+''',''Excel文件'')';
            try
              Execute;
              MessageBox(Handle,'文件存入成功!','系统',mrNone+MB_ICONINFORMATION);
            except
            on e:exception do
              showmessage(e.Message );
            end;
              filestream.Free ;
         end;
       end;
    end;