首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问list select 满足2个字段的值都要存在同一个表中

2013-01-19 
请教list select 满足2个字段的值都要存在同一个表中本帖最后由 oVivian1234567 于 2013-01-08 16:19:13

请教list select 满足2个字段的值都要存在同一个表中
本帖最后由 oVivian1234567 于 2013-01-08 16:19:13 编辑 代码:

 foreach (EN_ec_city en in enlist)
                        {
                           // DataRow[] df = dtlogistice.Select(String.Format("startaddr='{0}' and endaddr='{1}'", en.city_name, en.city_name));
                            DataRow[] df = dtlogistice.Select(String.Format("startaddr='{0}'", en.city_name));
                           
                           // DataRow[] dd = dtlogistice.Select(String.Format("endaddr='{0}'", en.city_name));
                            foreach (DataRow row in df)
                            {
                                DataRow ro = newgvprice.NewRow();
                                foreach (DataColumn co in cols)
                                {
                                    ro[co.ColumnName] = row[co.ColumnName];
                                }
                                newgvprice.Rows.Add(ro);
                            }
                        }


DataRow[] dd = dtlogistice.Select(String.Format("endaddr='{0}'", en.city_name));endaddr也要满足存在en.city_name,请问这要怎么添加条件
[解决办法]
用模糊查询
city _name Like '%startaddr%' and city _name Like '%endaddr%'
[解决办法]
不应该放在循环里面

string startaddr = null, endaddr = null; 


                DataTable dt = new DataTable();
                bool isExist = dt.Select(string.Format("city _name='{0}'", startaddr)).Count() > 0 && dt.Select(string.Format("city _name='{0}'", endaddr)).Count() > 0;
                //返回True 两者均存在


[解决办法]
神描述啊,

猜想是这意思:
输入两个城市名称(cityA、cityB),这两个城市都要存在enlist列表的city_name字段
int count=0;
count+= enlist.Where(x=>x.city_name==cityA).Count>0?1:0;
//cityB同上
if(count==2)
;//todo
[解决办法]
思路:
在enList中查找 是否存在city_name为cityA/cityB的EN_ec_city对象,
设定两个标志位,bool findA,findB;//如存在更多需要的标志位则可使用数组或链表
如存在city_name为cityA的则设置findA=true;
然后判断 所有标志位是不是 全部都为Ture,如是,则添加到表Tab0

热点排行