c# datatable根据某个条件过滤数据

判断DataTable中某一行某列的数据为空值的办法

需要使用DataRow类自带的一个函数IsNull。
if(!DataRow.IsNull(index))

if(Convert.IsDBNull(Row.ItemArray[index]))

在DataReader(如SqlDataReader)有相同功能的IsDBNull函数

datatable根据某个条件过滤数据

public static DataTable TblFilter(DataTable sourceTable, string condition)
        {
            var tempDt = sourceTable.Clone();
            var rows = sourceTable.Select(condition);
            foreach (var dr in rows)
            {
                tempDt.ImportRow(dr);
            }
            return tempDt;
        }


        public static DataTable TblFilter(DataTable sourceTable, string condition, string[] columns)
        {
            var tempDt = new DataTable();
            foreach (var t in columns)
            {
                tempDt.Columns.Add(t, typeof(String));
            }
            var rows = sourceTable.Select(condition);
            foreach (var dr in rows)
            {
                var newDr = tempDt.NewRow();
                foreach (var t in columns)
                {
                    newDr[t.Split(':')[0]] = dr[t.Split(':')[0]].ToString();
                }
                tempDt.Rows.Add(newDr);
            }
            return tempDt;
        }

sql语句中left,right函数取字段的左或者右几位数字

LEFT(shopid,4)
————————————————
版权声明:本文为CSDN博主「百里御」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012698249/article/details/77188920

发布了366 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_18932003/article/details/104828684