【问题标题】:Dynamic query creation动态查询创建
【发布时间】:2011-11-16 19:30:39
【问题描述】:

我有一个场景,其中包含以下详细信息:

我有一个表单,其中包含客户 1 的名字、中间名、姓氏、dob、pin、地址等字段。

现在这个表格必须迎合不止一个客户。问题陈述是 - 不同的客户端可能需要在前端显示不同数量的字段。例如:第二个客户想要 - Country 字段而不是 pin,不需要表单上的地址。

现在,当我提交表单时,目前我有一个常量查询,它取值 - 名字、中间名、姓氏、dob、pin、地址并将其插入到客户端 1 的数据库中。我想在它在运行时创建并仅将来自表单的值插入到数据库中的方式..

我希望我的问题很清楚。谁能帮忙????????????

【问题讨论】:

    标签: dynamic creation


    【解决方案1】:

    您需要考虑为什么要这样做。

    如果只是人形,它会变得非常复杂,添加更多,它会膨胀大风格。

    动态构建查询并不是特别复杂,但要执行此操作需要大量代码。 只需考虑要添加到查询中的每个字段及其类型。如果您的个人记录上的财产是他们的形象怎么办。 您是否有表单的配置,记录上的主键是自动公司,是复合键,您是否使用默认值,某些字段不为空。您将如何解决引用完整性异常...

    做所有唱歌跳舞的版本,基本上你重新发明了 Access IDE 之类的东西......

    就我个人而言,我会拥有一个带有一组 Person 属性的 Person 对象,它们将具有名称、值和一个布尔值来说明它们是否已被更改。

    一旦你有了 chnaged 属性列表和 beacseu,你就在 Person 对象中,你知道该表是 people,它由 autoinc bigint 键控,gender 是强制性的,默认为 Male...

    你有一个战斗的机会。

    您的查询应该使用参数

    也就是说插入人员(名字,姓氏,PIN)值(@FirstName,@LastName,@PIN)

    然后您将浏览更改的字段并添加具有相同名称、类型和值的参数。

    正如我所说,你真的可以带着这个去城里,但也许是时候在里面过夜了。

    【讨论】:

      【解决方案2】:

      这应该意味着您的表格中的某些字段(例如地址和 pin)可以为空,在这种情况下,您可以不使用动态查询。只需从表单中收集所有输入并将它们插入到您的表格中。由于不同的用户需求而留空的那些表单字段将因此在您的表中相应的字段为空。因此,只需在插入查询中列出表中所有需要的字段以及表单中所有可能的输入。

      【讨论】:

        猜你喜欢
        • 2017-04-20
        • 2012-12-12
        • 2015-10-01
        • 2015-04-09
        • 2011-12-02
        • 2011-02-18
        • 2020-03-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多