首页 > 解决方案 > 表列不断变化时如何使用 Select INTO 语句?

问题描述

我想对不断变化的列数的表使用Select INTO语句。

Select * FROM myTable返回我所需的输出,但我不知道如何在 powerbuilder 和 INTO 中使用相同的 select 语句,因为我不知道 myTable 中有多少列,我什至不知道这些列的名称是什么。

列的名称和数量各不相同,所以我认为可以使用数组,但我不知道如何使用它。是否可以?有没有其他方法可以解决这个问题?

PowerBuilder 12.5 / MSSQL Server 2008

标签: selectdynamicpowerbuilder

解决方案


使用select * from myTable作为您的 SQL 字符串并动态创建一个 DataWindow。您可以使用 Describe() 函数获取列数(以及可选的名称、数据库列源、数据类型),并使用 GetItem*() 和列号来检索数据。

请记住,虽然为改变做准备听起来不错,就像所有的设计选择一样,它也需要权衡取舍。在这种情况下,请考虑性能(创建 DW 需要额外访问数据库)和可维护性(解决涉及动态 DW 的问题比静态问题要困难得多;您需要配备更高级的程序员)。您可能需要考虑表的更改频率,以及用户对应用程序如此满意的可能性有多大,以至于偶尔发布带有其他更改的应用程序将是一件坏事。(不是我从来没有做过,而是 25 多年的 PB 和几十个客户,我可能一只手就能数出时间。对我来说,这是一个经过深思熟虑的最后手段。)


推荐阅读