根据外部数据更改LiveCycle中的数据连接sql查询

时间:2015-12-30 01:49:29

标签: xml pdf data-binding livecycle livecycle-designer

我在LiveCycle Designer ES4中有一个PDF表单,它与Access数据库有数据连接。 我想基于XML文件中的信息自动使用数据库中的数据填充表单。

例如,我有以下文件name.xml

<Form>
    <Name>Mike</Name>
</Form>

我希望填充所有表单字段,就像运行以下查询一样:

SELECT * FROM Info WHERE Name = 'Mike'

我想过一些对我有用的方法。任

  1. 从文件导入数据并创建查询字符串,如

    var nameXML = xfa.loadXML("name.xml")
    var name = nameXML."parseTheXMLSomehow"
    $.DataConnection.#command.query.commandType = "text" 
    $.DataConnection.#command.query.select.nodes.item(0).value =
        Concat("SELECT * FROM Info WHERE Name = '", name, "'") 
    $.DataConnection.open()
    
  2. 创建与XML文件的数据连接并将其绑定到Name字段,然后按上述选项更改所有其他字段,或

  3. 按照第一个选项检索数据,然后将Name字段(绑定到数据库的数据连接)的值设置为数据值,并以某种方式自动更改其他一切。

  4. 问题:

    1. loadXML无法处理数据文件,xfa.host.importData("name.xml")似乎无法做任何事情(可能是因为该文档未经过认证 - 无法&# 39;了解如何做到这一点)

    2. 我可以创建与XML文件的数据连接并将其绑定到字段,但它不显示任何内容。我需要添加到XML文件中吗?

    3. 我无法获取数据,即使我可以,更改一个字段也不会自动更改其他字段,即使它们全部绑定到相同的数据来源。

    4. 现在,如果我能够实际填充数据,那么第二个选项似乎是我最好的选择。 谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

在继续前进之前,请确保您理解Reader Extensions的概念。

在将数据加载到PDF之前,您的PDF必须应用适当的使用权利(更具体地说是数据库和Web服务连接&#39;)。

您没有直接创建与XML文件的数据连接。相反,您将从示例XML文件创建数据源。这只会使用XML的模式 - 而不是实际的数据。

如果要同时更改所有字段的值,请设置全局数据绑定。

希望这些提示对您有所帮助。 -Nith