【问题标题】:Can you use DataTable.Contains(object key) if your datatable's primary key is two columns?如果您的数据表的主键是两列,您可以使用 DataTable.Contains(object key) 吗?
【发布时间】:2023-04-03 07:51:01
【问题描述】:

如果有怎么办?

【问题讨论】:

    标签: c# visual-studio ado.net datatable datarow


    【解决方案1】:

    要通过主键选择,您应该使用以下之一:

    • DataTable.Rows.Find(Object) 如果你的 PK 是一列
    • DataTable.Rows.Find(Object[]) 如果您有超过 1 列作为主键

    如果是类型化数据集,将使用正确的签名为您生成方法MyDataTable.Rows.Find(...)。基本上它是 DataRowCollection 类的一个方法

    【讨论】:

      【解决方案2】:

      'Contains' 似乎不是 DataRow 类的成员(也许这是一个类型化的数据集?)

      在任何情况下,您总是可以使用 (DataTable.Select(....).Length > 0) 作为替代

      【讨论】:

        【解决方案3】:

        我假设您指的是 DataRowCollection.Contains 方法?有一个重载需要一个对象数组,你应该使用这个

        【讨论】:

        • 我试过了,但它告诉我“期望被索引的键有 2 个值,但收到了 1 个值。”
        • 你试过了吗? table.Contains(new object[] { valueOfFirstKey, valueOfSecondKey })
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-26
        • 2020-07-01
        • 1970-01-01
        • 2022-06-10
        • 2020-03-25
        相关资源
        最近更新 更多