2013-05-09 154 views
0

我正尝试使用java代理将分隔文本文件中的数据上传到Lotus Notes注释表单。当我尝试将日期值插入到笔记文档时,就会出现问题。插入后,当我使用ComputeWithForm,然后它返回false。我正在使用simpledateformat以MM/dd/yyyy格式格式化日期,但它仍然不起作用。以下是我的代码摘录。Lotus Notes:使用Java代理在Lotus Notes窗体中插入日期值

  String delim, key, thekey, myDate; 
      Date date = new Date(); 
      SimpleDateFormat dateFormat = new SimpleDateFormat("MM/dd/yyyy); 
      myDate = dateFormat.format(date); 
newdoc.replaceItemValue("UploadDBDate", myDate); 

任何帮助将是伟大的。

感谢, 人士Himanshu

+0

是否要将字段值存储为文本或日期? – 2013-05-09 08:57:43

+0

字段需要作为日期存储 – 2013-05-09 13:47:50

回答

2

myDate是一个String对象。 replaceItemValue方法不知道你已经把一个日期放入该String中,因此它将它视为普通文本。如果uploadDBDate是DateTime字段,则会在computeWithForm操作期间导致类型不匹配。

Lotus的Lotus类包括DateTime类。 Session类有一个createDateTime方法,你传递一个“mm/dd/yyyy”字符串并返回一个DateTime对象。然后,您可以将该DateTime对象传递给replaceItemValue,而不是传入myDate。

+0

非常感谢..这工作。我需要更多地学习Notes java API。 – 2013-05-10 08:44:43

0

我会建议你做这些事情: 1)禁止computewithform并只需保存文件,然后验证场UploadDBDate,是否有正确的价值?它是否有更正类型? 2)如果UploadDBDate一切正常,那么表单上有问题,因此请尝试调查您在表单上执行的计算,因为问题出在那里。

+0

我评论了上面的行,它增加了字段的值,创建文档没有任何问题。虽然我将删除Compute WithForm并让您获得结果。在表单上也没有计算。它根本没有得到保存,因为这个日期字段 – 2013-05-09 13:47:30

+0

我删除了ComputeWithForm和窗体得到保存。而且以后再没有问题了。表单上没有这种验证。所有的字段都是计算形式。 – 2013-05-09 15:47:56