首页新闻找找看学习计划

LINQ TO SQL

0
悬赏园豆:5 [已解决问题] 解决于 2013-04-11 09:24

 int count = (from b in dt
           where b.LoginDate >= StarDateTime
           && b.UserName==uname
           && b.LoginDate <= EndDateTime
           select b).Count();

为什么任意两个条件可以得到结果,三个条件都写,结果就是空的???????

StartDateTime和EndDateTime、uname都是参数,可以正确传递,三个条件同时成立在sql中可以得到正确结果!!

kingboy8808的主页 kingboy8808 | 初学一级 | 园豆:6
提问于:2012-05-29 15:35
< >
分享
最佳答案
0

很简单哦,任意两个结果可以得到条数,三个条件就得不到结果了,因为三个条件是“并且”的关系,那么肯定是第三个条件没有满足的数据了、

收获园豆:5
Plusone | 菜鸟二级 |园豆:342 | 2012-05-29 15:56

我在sql中是有正确结果的!!

kingboy8808 | 园豆:6 (初学一级) | 2012-05-29 16:06

@夜风冷: 那就用sql profiler监视一下这个linq到底执行了什么样的sql语句,跟你的sql语句是否完全一样。

Plusone | 园豆:342 (菜鸟二级) | 2012-05-29 16:11

@Plusone: 生成的比我写的复杂

kingboy8808 | 园豆:6 (初学一级) | 2012-05-29 16:17

@Plusone: 生成的sql写入参数可以正确得到结果

kingboy8808 | 园豆:6 (初学一级) | 2012-05-29 16:23
其他回答(4)
0

用SQL Profiler查看一下实际执行SQL语句

dudu | 园豆:39078 (高人七级) | 2012-05-29 15:37
0

有一个条件不匹配吧..

┢┦偉 | 园豆:1240 (小虾三级) | 2012-05-29 15:39
0

StartDateTime和EndDateTime这两个参数有问题(仔细检查下),或者UserName不包含uname

 

因为楼主用的都是&&条件,所以条件中只要有一个不符合,就不会返回结果

Kernone | 园豆:202 (菜鸟二级) | 2012-05-29 15:40

有同时满足三个条件的结果

支持(0) 反对(0) kingboy8808 | 园豆:6 (初学一级) | 2012-05-29 16:10
0

参数问题……

kingboy8808 | 园豆:6 (初学一级) | 2012-06-20 10:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册