首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将外部DataWindow转换为SQL Select DataWindow

如何将外部DataWindow转换为SQL Select DataWindow
EN

Stack Overflow用户
提问于 2012-12-22 02:51:35
回答 3查看 1.9K关注 0票数 1

我正在尝试使身份证应用程序。用户在为该卡创建用于数据输入的表之后设计该卡。因此,我在接受来自用户的字段(列、文本、行、图片、复选框、单选按钮、条形码、...etc)后动态创建外部DataWindow。现在,我需要在为此目的创建表之后,将这个创建的DataWindow (动态)转换为SQL SELECT DataWindow。

如何转换?

EN

回答 3

Stack Overflow用户

发布于 2012-12-23 02:56:54

没有自动机制将外部数据窗口转换为SQL Select。如果您熟悉.srd文件格式,则可以手动完成此操作,但从头开始重新创建新的dw要容易得多。

-Paul

票数 1
EN

Stack Overflow用户

发布于 2012-12-23 03:30:13

我要做的就是用您想要的SQL创建一个新的DataWindow;不用费心调整UI (我假设这就是您想要从原始DW中恢复的东西)。获取新DW的table()部分并替换原始DW的table()部分。请确保正确匹配括号;在table()部分中有许多嵌入的括号集。如果有疑问,可以使用NotePad++之类的工具为您查找匹配的括号。

这听起来很简单,这就是最容易的部分。根据数据集的大小,真正的关键点是确保数据集匹配,元素对元素,数据类型对数据类型。少了一个,你就会以难以想象的方式搞砸,事后难以追查。

祝好运,

特里。

我第一次错过了“即时”这一部分,但同样的建议也适用;您只需通过编程来完成,这将更加困难。如果您不必忽略SQL SELECT语句中可能包含的括号,更不必忽略其他字符串(如列值表达式)中可能包含的括号,那么查找匹配的paren就足够具有挑战性了。这是可能的,只是有很多很难预料的边缘情况要测试,比如当SELECT语句中的字符串有开始paren而没有结束paren时会发生什么?然后,必须以编程方式匹配数据类型,这在理论上意味着解析每个DW的列部分并比较数据类型。在实践中(没有这样做,只是抛出一个想法),您可以使用这两种语法创建(),并查看这两种语法之间的ShareData()是否失败。(ShareData()允许一定的灵活性,例如整数和长整型,我不知道这些差异是否会在您尝试这样做的其他方面造成问题。)当然,这可能会提出一个问题:为什么不创建两组DW语法,一组是external,一组是SELECT,并在它们之间执行ShareData()?

票数 1
EN

Stack Overflow用户

发布于 2012-12-29 00:58:57

您会发现,先创建表,然后从SQL创建DataWindow要简单得多。您将能够使用已有的大部分代码来创建/修改DataWindow的可视部分。

我建议您仔细考虑这种设计,因为用户迟早会想要对现有徽章设计上的数据进行更改,如果不删除并重新创建表并迁移数据,就不可能做到这一点。一个好的经验法则是永远不要让最终用户设计数据库。我将为您将要支持的每个数据类型创建一个表,并将它们链接到带有属性标识符的徽章。用户唯一要做的就是添加可用数据类型的属性,给它们命名,并把它们贴在徽章上。保留您的外部DataWindow,并对每个受支持的属性类型使用DataStores。如果您使用属性名称作为外部列名,那么您可以很容易地编写通用代码来从检索时的属性填充徽章,并将属性复制回DataStores进行保存。如果您要查看pfc_n_cst_dwsrv.of_populatedddw (无参数版本),您将看到基本思想,只是您将查看列的数据类型,并向处理该数据类型的DataStore分派一个请求,为其提供要填充的行和列名(属性名)。除了将要设置回DataStore的值赋给DataStore之外,保存的方式与此相同。您无需担心数据是否发生了更改,因为DataStore足够智能,可以判断数据是否相同。如果你使用PFC,你只需将更新列表设置为你的DataStores,PFC会帮你处理它们(在本例中,你将使用n_ds作为DataStores )。您还需要在DataStores中设置新行的徽章id。为此,您可以使用n_ds的pfc_updatePrep事件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13995595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档