关于linq查询

lifelifelong 2010-07-17 12:16:03
我在admin数据库中有两行资料
1 luo luo
2 zhou zhou
在Linq查询语句中
var result = from v in bd.admin
select v;
int value = 0;
foreach (var v in result)
{
if (v.adminName == txtUserName.Text)
{
if (v.adminPassWord == txtPassWord.Text)
{
value = 1;
}
else
value = 2;
}
else value = 3;
}

为什么如果输入luo zhou的话,会查不到呢?虽然这是我想要的结果,但是逻辑上我好混乱啊,大家解答解答啊~~
我记得用sql语句查的,都貌似会查出 luo zhou 存在的。
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sunpire 2010-07-18
  • 打赏
  • 举报
回复
我不是说 Select * ,而是说在生成的 Sql 里面没有出现 Where 条件 , 这样相当于是每次都把整个表的全部行中的数据都查询了。
lifelifelong 2010-07-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sunpire 的回复:]
哪有这样子写 Linq 查询的啊,果然是混乱得不得了。

在调用 foreach 时,bd.admin 整个都被查询了,也就是相当于 Select * From admin , 这样哪有效率啊,连一个 Where 条件都没有。

在 v.adminName == txtUserName.Text 这句中, 执行的是 C# 中的字符比较,是区分大小写的。

“输入luo zhou” 这是……
[/Quote]

但是我需要表里面的所有数据啊,当然就用select了
Sunpire 2010-07-17
  • 打赏
  • 举报
回复
哪有这样子写 Linq 查询的啊,果然是混乱得不得了。

在调用 foreach 时,bd.admin 整个都被查询了,也就是相当于 Select * From admin , 这样哪有效率啊,连一个 Where 条件都没有。

在 v.adminName == txtUserName.Text 这句中, 执行的是 C# 中的字符比较,是区分大小写的。

“输入luo zhou” 这是指什么? 指“luo” 为txtUserName.Text , “zhou” 为 txtPassWord.Text 么子,这样当然查不到啦,因为LZ给出的两行数据中就没有符合要求的存在,效果相当于Sql
Select * From admin Where 用户名='luo' And 密码='zhou' ,而且还是区分大小写的。

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧