Forms 如何在oracle apex表单中放置多个记录?

Forms 如何在oracle apex表单中放置多个记录?,forms,oracle,oracle-apex,Forms,Oracle,Oracle Apex,我对oracle apex表单有问题 问题是我想在一个表单中同时添加多条记录。我已经读过这样做的最好方法是使用csv文件,但是没有教程可以做到这一点。Oracle是一个数据库,将文件与数据库结合起来总是很棘手,而且由于明显的原因,没有得到广泛的支持。存储文件并提供下载是一回事。另一个任务是让Oracle数据库打开文件并读取和处理内容。这当然是可能的,但特别是将其与Apex应用程序结合起来,我认为您将遇到很多挑战,例如安全限制 然而,远离文件并不一定意味着远离CSV。您可以简单地在页面上提供一个大

我对oracle apex表单有问题


问题是我想在一个表单中同时添加多条记录。我已经读过这样做的最好方法是使用csv文件,但是没有教程可以做到这一点。

Oracle是一个数据库,将文件与数据库结合起来总是很棘手,而且由于明显的原因,没有得到广泛的支持。存储文件并提供下载是一回事。另一个任务是让Oracle数据库打开文件并读取和处理内容。这当然是可能的,但特别是将其与Apex应用程序结合起来,我认为您将遇到很多挑战,例如安全限制

然而,远离文件并不一定意味着远离CSV。您可以简单地在页面上提供一个大的文本输入,用户可以在其中复制粘贴一个大的CSV字符串。然后可以由数据库提交和处理。要做到这一点,您可能需要创建一个在提交页面后被触发的进程。在此过程中,您可以解析CSV数据并在表中插入多行。对于XML或JSON之类的东西也可以这样做

但是,谁在生成此CSV?要求用户构造CSV对用户不是很友好。它可能很复杂并且容易出错。如果CSV是由另一个应用程序生成的,是否有办法绕过Apex并将CSV直接传递到数据库

如果不需要一个基于文本的数据载体(我怀疑阅读您的描述),为什么不简单地保留您的表单,而是允许用户提交多个表单?如果每次提交都插入一条记录,然后使用批处理查询这些记录并开始一次格式化一条记录,是否足够

如果您只是希望用户能够进入多台机器,而不必为每台机器提交页面,这也是可能的,但您必须留下一些标准的Apex功能,并实现一些更自定义的javascript和PL/SQL功能。Apex只允许静态数量的页面项,这需要在设计时定义。因此,如果您想在页面中动态添加文本框和选择列表等字段,则必须使用javascript。您可以从定义一个区域开始,该区域在页面加载时呈现一行输入字段,并在其下创建一个链接,称为“添加另一行”,该链接将在现有行下呈现一行新的输入字段,并根据用户需要重复多次。
这会处理UI。现在,当用户输入了他想要的所有数据后,我们需要提交所有这些数据并将其输入数据库。因此,是的,在这一点上,我们可能必须从输入字段中获取所有这些数据,并将其转换为单个字符串。这一切都必须在javascript代码的客户端完成。然后,您可以使用Apex页面项API,使用$x(…)或$v(…)函数将生成的字符串分配给单个页面项。然后提交页面,此时页面进程将被触发。然后定义一个页面进程,该进程将解析页面项中的数据,并使用该数据在数据库中插入多行。

我不理解您的问题。你想干什么?是否希望用户填写表单,并在提交后在某个表中插入多行?我希望用户以csv文件或textfileRahul的形式在表单中添加多条记录,因为表单没有任何记录。因此,您不能向表单中添加任何记录。但是,您可以使用表单从用户处收集数据,并使用该用户将一条或多条记录插入表中或使用它执行其他任务。我建议你扩大你的问题,更清楚地描述你的目标,并解释在什么时候以及为什么你会陷入困境。我有一个包含CMDB数据的SQL/Oracle数据库。目前,Apex已经构建了一个系统,如果您填写表格(pc号码、位置等),系统可以搜索该数据库,该机器将在夜间格式化(基于脚本等)。目前,它一次只能为一台机器工作(一次一条记录),但我们希望批量添加数据(比如CSV文件)。简而言之,使用Apex表单,了解如何将数据批量添加到SQL/Oracle数据库。