日常问题总结(3)

来源:互联网 发布:淘宝免费送衣服是真的 编辑:程序博客网 时间:2024/06/02 03:23

判断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)