当前位置:编程学习 > C#/ASP.NET >>

一个很简单很简单的问题(对的晚上给分)

我账号表里有个登陆状态的字段:IsOpen  它是int类;当它等于1时表示用户可登陆,当它等于0时表示用户不可登陆


然后我在登陆代码那写的这么条SQL语句:



string LoGosql = "SELECT * FROM T_Admin WHERE Name='" + UserName + "' AND PassWord='" + PassWordMD5 + "' and IsOpen=1";


但是不管表里是否为1它都能登陆啊!这是错在哪啊!是我的SQL语句写错的么!不能这么写么 --------------------编程问答-------------------- sql 语句看不来错 

加断点 看看其他地方是否有 错 --------------------编程问答-------------------- 你这句代码仅仅是查询。。
贴出你接下去的代码才是关键。。 --------------------编程问答-------------------- [Quote=引用 2 楼 crackpot2007 的回复:]
你这句代码仅仅是查询。。
贴出你接下去的代码才是关键。。
[/Quote --------------------编程问答-------------------- 看看你 登录的逻辑 才是关键 --------------------编程问答-------------------- 说不定你错误用户名 密码都能登录呢。。。 --------------------编程问答-------------------- sql语句没问题 --------------------编程问答-------------------- 登录代码贴上来。 --------------------编程问答-------------------- 这句SQL是没错的
应该是程序其他的判断出了问题
断点一下看看逻辑 --------------------编程问答-------------------- sql正确。 --------------------编程问答-------------------- 楼上都说了
你还是把下面 的代码贴来吧 --------------------编程问答-------------------- sql语句没问题
看代码了。。 --------------------编程问答-------------------- 你这句代码仅仅是查询。。
贴出你接下去的代码才是关键。。 --------------------编程问答-------------------- 看代码~ --------------------编程问答-------------------- 把代码帖出来 --------------------编程问答-------------------- 如果是查询的话你可以获得查出来的这条对象。然后判断这对象是否为空。不为空代表登录成功。否则就失败 --------------------编程问答-------------------- 你不把逻辑贴出来……谁知道你是怎么判断的~~~ --------------------编程问答-------------------- 你判断语句如何写 --------------------编程问答-------------------- 就看判断语句了,F5调试一下就知道了。 --------------------编程问答-------------------- 可能你判断登录的方法有问题 --------------------编程问答-------------------- 断点调试看看... --------------------编程问答-------------------- sql语句没有问题,可能是别的地方有问题! --------------------编程问答-------------------- 下一句啊
如果查出来的记录大于零,就证明可以

反之,则不可以! --------------------编程问答-------------------- 查询分析器执行LoGosql 
怎么判断的 ,Count(*)
ExecuteScalar获取第一行第一列 --------------------编程问答-------------------- sql注入漏洞 --------------------编程问答-------------------- sql 读取值赋给 datatable tb
tb.rows.count>0就可以登录
否则不能登录 --------------------编程问答-------------------- 判断逻辑贴出来看看

一般用的比较多的都是
select Count(*) from...
ExecuteScalar获取第一行第一列转为整型,大于零则可登陆 --------------------编程问答--------------------
引用 24 楼 onlyvb 的回复:
sql注入漏洞

有漏洞的语句是错误的根源 --------------------编程问答-------------------- 看不出来,应该加上判断了
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,