为了账号安全,请及时绑定邮箱和手机立即绑定

如何在数据表 c#asp.net 中一起检查第一、第二和第三行?

如何在数据表 c#asp.net 中一起检查第一、第二和第三行?

C#
繁花不似锦 2021-06-04 10:02:25
我有一个这样的表结构(如图所示),如果第一行应该是 (authlevel=1,authorized=1) AND 第 2 行(authlevel=2 和authorized=0 或 null)AND 第 3 行,我想要这样的条件(authlevel=3 and (authorized=0 or null)) AND我已经尝试了下面的代码,但无法理解。    Dictionary<string, BO.User> lstuserCH = new Dictionary<string, BO.User>();            foreach (DataRow row1 in _data.wsm_PurchaseOrder_Auth) {                if (((Convert.ToInt32(row1("AuthLevel")) == 1)                             && !row1.IsNull("Authorised"))) {                    // here i need only the 1st element of dictonary lstuserCH                }      else       {      //dictionary lstuserCH should be remain as it is.       }}
查看完整描述

2 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

您可以选择单个行并执行如下业务逻辑:


    public void ValidateFirstThreeRows(DataTable dt)

    {

        if (dt.Rows.Count < 3)

        {

            // Handle this case

        }

        var row1 = dt.Rows[0];

        var row2 = dt.Rows[1];

        var row3 = dt.Rows[2];


        if ((int)row1["AuthLevel"] == 1

            && bool.TryParse(row1["Authorized"]?.ToString(), out bool result)

            && (int)row2["AuthLevel"] == 2

            && bool.TryParse(row2["Authorized"]?.ToString(), out result)

            && (int)row3["AuthLevel"] == 3

            && bool.TryParse(row3["Authorized"]?.ToString(), out result))

        {

            // Do your stuff

        }

    }


查看完整回答
反对 回复 2021-06-05
  • 2 回答
  • 0 关注
  • 117 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信