2 xiaoqiangzhang23 xiaoqiangzhang23 于 2016.01.29 08:35 提问

C# dataset 怎么查找数据列中是否存在某个值?

dataset 怎么查找数据列中是否存在某个值?举例说明
A b c
110 2 3
105 58 99
125 56 80
查找a列是否存在180值?

5个回答

showbo
showbo   Ds   Rxr 2016.01.29 08:56


        System.Data.DataSet ds = new System.Data.DataSet();
        System.Data.DataTable dt = ds.Tables[0];//如果是其他表注意修改下标
        System.Data.DataView dv = dt.DefaultView;
        dv.RowFilter = "a=180";
        if (dv.Count > 0)
        { //存在
        }
caozhy
caozhy   Ds   Rxr 2016.01.29 09:34

bobo(@无聊码农)的方法很好,我再给个不同的。

 if (dataset.Tables[0].Rows.Cast<DataRow>().Any(x => x["a"].ToString() == "180"))
//存在
qq_28332767
qq_28332767 这个很赞
27 天之前 回复
u014180504
u014180504   2016.01.29 17:19

我说思路把,楼上已经把代码贴出来了,首先就是微软是否有提供比较函数?有直接用了,不用想,没有自己怎么做?首先得找到你想要找的列,然后就是能不能获取列对应的每一行值,然后就是判断,按照这样的思路一点点就找出来解决方案了,好处就是在遇到类似问题你就知道怎么去处理解决了就不用再去问别人了

rui888
rui888   Ds   Rxr 2016.01.29 09:29

对的 DataView 有过滤的功能 ,select 功能等。

lzj_999
lzj_999   2016.01.29 09:56

DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("A");
dt.Columns.Add("B");
dt.Columns.Add("C");
DataRow dr = dt.NewRow();
dr["A"] = 110;
dr["B"] = 2;
dr["C"] = 3;
dt.Rows.Add(dr);
ds.Tables.Add(dt);

        DataRow[] drr = ds.Tables[0].Select("A=110");
        if (drr.Count() > 0)
        {
            //有值
        }

xiaoqiangzhang23
xiaoqiangzhang23 这个方法很好
接近 2 年之前 回复
lzj_999
lzj_999 另外 @无聊码农 的方法也很好
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!