Var
Stream:TMemoryStream;
begin
Stream:=TMemoryStream.Create;
ADODevice1.Open;
FileDialog.Execute;IF FileDialog.FileName<>'' THEN
 BEGIN
   TRY
    Stream.LoadFromFile(FileDialog.FileName);
    ADODevice1.Edit;
    TBlobField(ADODevice1.FieldByName('Depiction')).LoadFromStream(Stream);
    ADODevice1.Post ;
     Stream.Free;
   EXCEPT
    ON E:Exception DO ShowMessage(E.Message);
   END;
 END;
end;
报错:Invaild class typecast; Depiction 数据类型是vbinary;
应该怎么做啊

解决方案 »

  1.   

    with AAdo do
          begin
            close;
            sql.Clear;
            sql.Text := 'insert into tword(Fword) values(:Fword) ';    
            Parameters.ParamByName('Fword').LoadFromFile('c:\word.doc',ftblob);
            execsql;
          end;
      

  2.   

    with Ado do
    begin
        Close;
        SQL.Clear;
        SQL.Add(StrT);
        Open;
        Edit;
        TBlobField(FieldByName(字段)).LoadFromFile(path);
        Post;
    end;