我的一个access数据库文件中有两个字段,一个是'标题'(字符类型),一个是'内容'(OLE类型,word文档),用AdoTable连接到数据库,用上面的语句把库中的'内容'字段中包含的word文档读出来存盘,但发现读出来的temp.doc都是乱码,不知道怎么回事?

解决方案 »

  1.   

    OLE类型可用留来存储文件,看看你取出和存入时有没有什么出入!
      

  2.   

    存入时就是在microsoft access2003中选ole,再选word文档,接着自动打开了一个空白word文档,再把内容粘贴进去,就是这样.这怎么比较呢?
      

  3.   

    应该读出来的不对,读出的是整个OLE的二进制编码,而不是OLE的内容,怎么读出来的?
      

  4.   

    读入时用TBlobField(AdoTable.FieldByName('内容')).LoadFromFile('c:\temp.doc');
      

  5.   

    你那个字段是什么类型的,最好用Image类型,否则最好你Base64编码一下。
      

  6.   

    读入时我是用的ACCESS2003的记录录入界面,直接编辑word文档并保存,并没有load什么文件。也没用代码。
      

  7.   

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