验证用户名和密码的SQL语句怎么写
"select * from myusertable where text=UserName and password=Password "
其中 单引号 双引号 还有+ 号怎么 加 我有点糊涂 望指教 谢谢
------解决方案--------------------select * from myusertable where text= 'UserName ' and password= 'Password '
oracle中是单引号
------解决方案--------------------应该也是吧,你试试吧,
------解决方案--------------------你那个加号什么意思啊?在引号里面都当作字符处理了
------解决方案--------------------如果你的用户名(text)就是“UserName”的话,直接查询数据库的话是这个:
select text, password from myusertable where text= 'UserName ' and password= 'Password ';
不过看你写的“UserName”应该是个变量吧?如果是变量的话:
select text, password from myusertable where text=UserName and password=Password;
如果是在JavaBean中写代码那应该是:
String sql = "select text, password from myusertable where text= ' " + UserName + " ' and password= ' " + Password + " ' ";
------解决方案--------------------楼上正解
------解决方案--------------------其实现在的系统密码几乎全部都是加密的,比如你用mysql自带的md5加密的话,那sql就是
String sql = "select text, password from myusertable where text= ' " + UserName + " ' and password=md5( ' " + Password + " ') ";
------解决方案--------------------String sql = "select * from myusertable where
text= ' "+UserName+ " '
and password= ' "+Password+ " ' ";
楼上才是对的.
------解决方案--------------------感觉写在一句不是很好,还要判断用户名不存在,密码错误(用户存在)两种情况
------解决方案--------------------LZ sql尽量不要这么写 否则通过sql注入攻击 整个表将被干掉。
尽量用setName=rs.getString(1);
这样的写法
------解决方案--------------------String sql = "select * from myusertable where text= ' "+UserName+ " ' and password= ' "+Password+ " ' ";