起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 245|回复: 6

【搞定】[请求]附加上传问题,请教了大哥们,等待中。。**

[复制链接]
发表于 2007-3-21 13:09:44 | 显示全部楼层 |阅读模式
附件内容;二进制;OLE
附件序号:字符;字符串
使用下面代码进行附件上传(http://bbs.justep.com/forum.php?mod=viewthread&tid=11337)中11楼及13楼的的方法,不知道是否正确
procedure TWDXXFJ.ActUploadExecute(Sender: TObject);
var
  lFileDoc : HSZYJ.TFileDoc;
begin
  lFileDoc :=HSZYJ.TFileDoc.Create(TSQLDataSet(DataSetBroker3.DataSet),'FJNR','FJXH');
           //FJNR 用于存附件的二进制流类型的字段,FJXH用于存附件名称的字符型字段,DataSetBroker3 为要存的数据库连接
  try
    lFileDoc.UploadExecute;
  finally
    lFileDoc.free;
  end;
end;

procedure TWDXXFJ.ActUploadUpdate(Sender: TObject);
begin
  Inherited;
  //ActUpload.Enabled := not BizDocInfo.DocReadOnly;
end;

出现Invalid stream format错误,求教下:怎么解决!?最好能详细点
本人水平有限!
回复

使用道具 举报

 楼主| 发表于 2007-3-21 14:31:13 | 显示全部楼层
我用DataGrid与DataEdit来显示附件,均不行,都出现Invalid stream format的错误提示框!怎么回事哦???帮帮忙吧!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-21 14:49:24 | 显示全部楼层
快一个半小时了。。。。。
回复 支持 反对

使用道具 举报

发表于 2007-3-22 13:53:14 | 显示全部楼层
字段上定义了表现类型,但是用这段代码上传的文件没有在字段中保存附加的信息,所以造成这个错误。
比如:
你字段上设置表现类型为OLE,但是上传的文件只有文件内容本身,没有为文件内容再附加OLE的附加信息,所以按照OLE的格式去读的时候,其实不是附加信息,而是文件的内容的一部分,当然不符合OLE格式的要求,所以就会出现这个错误
回复 支持 反对

使用道具 举报

发表于 2007-3-22 13:53:45 | 显示全部楼层
如果表现类型设置成二进制流就不会出现这个错误,但是二进制流是无法表现的,只能代码访问
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-3-22 14:17:15 | 显示全部楼层
谢谢!
回复 支持 反对

使用道具 举报

发表于 2007-3-29 14:45:40 | 显示全部楼层
HSZYJ.TFileDoc的HSZYJ是什么?

如何设置附件内容的OLE?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-28 17:54 , Processed in 0.036476 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表