c# DataTable 查询

本文展示了一种使用C#和LINQ结合SQL查询的方法,通过将DataTable转换为IEnumerable对象,利用LINQ进行条件筛选,最后将筛选结果再次转换为DataTable进行输出。此方法简化了数据处理流程,提高了代码的可读性和维护性。

  using (SqlConnection con = new SqlConnection(ConStr)) {
                try
                {
                    string sql = "select * from mainUser with(nolock) where 1=1";
                    con.Open();
                    DataTable userDt = new DataTable("userInfoDt");
                    SqlDataAdapter dap = new SqlDataAdapter(sql, con);
                    dap.Fill(userDt);
                    con.Close();
                    // 通过AsEnumerable() 实现linq查询接口
                    var data = userDt.AsEnumerable();
                    //linq条件查询
                    data = data.Where(a=>a.Field<string>("uName")=="张三");
                    //linq结果集赋给新的DataTable
                    DataTable dd = data.CopyToDataTable();
                    //输出结果集
                    foreach (DataRow dr in data)
                    {
                        Console.WriteLine(dr["uid"]);
                        Console.WriteLine(dr["uName"]);
                        Console.WriteLine(dr["uPhone"]);
                        
                    }
                    //输出转DataTable 后的结果
                    foreach (DataRow item in dd.Rows)
                    {
                        Console.WriteLine(item["uid"]);
                        Console.WriteLine(item["uName"]);
                        Console.WriteLine(item["uPhone"]);
                        
                    }
                    
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    con.Close();
                }
             

            }

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值