【问题标题】:Patching a collection to sql, appending rows, I need to update将集合修补到 sql,追加行,我需要更新
【发布时间】:2021-09-06 15:58:35
【问题描述】:

我有一个 SQL Server 表 csv_data_tbl,和一个集合 colCommon,它在开始时从同一个表中收集。

图库允许用户使用输入文本字段修改集合。我想将此修改后的集合修补到同一个 SQL Server 表。

我正在使用带有以下onSelect 代码的按钮:

Patch(CSV_DATA_TBL, colCommon)

但它会将记录附加到 SQL Server 表中,所以我得到了包含用户修改数据的重复记录。

有没有更好的解决方案来更新我的集合中的 SQL Server 表?

谢谢

【问题讨论】:

    标签: sql-server collections patch powerapps power-automate


    【解决方案1】:

    您可以使用ForAll function,它将遍历您集合中的所有项目,并使用Patch function 将更新发送到数据库。例如,如果您的表csv_data_tbl 有一个名为“ID”的主键列,并且用户可以更新“Field1”和“Field2”列,则可以使用如下表达式:

    ForAll(
        colCommon As coll,
        Patch(
            CSV_DATA_TBL,
            { ID: coll.ID }, // (*)
            {
                Field1: colCommon.Field1,
                Field2: colCommon.Field2
            }))
    

    (*) 通常我们需要更新完整记录作为 Patch 函数的第二个参数 - 但对于 SQL Server 表,我们只需要主键,它就能匹配它。如果您要检索整个记录,第二个参数将类似于 LookUp(CSV_DATA_TBL, ID = coll.ID)

    【讨论】:

    • 非常感谢@carlosfigueira,您的代码帮助了我。
    猜你喜欢
    • 2021-10-04
    • 2012-03-03
    • 2020-09-24
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 2012-09-25
    • 2010-10-09
    相关资源
    最近更新 更多