java数据库查询

来源:百度知道 编辑:UC知道 时间:2024/05/28 14:02:11
rs=dbcon.stmt.executeQuery("select * from users where name='"+str1+"' and password='"+str2+"'");
这段代码有错吗?每次登陆的时候都说密码不对,我用的都是正确的密码,而且数据库连接也正常
<jsp:useBean id="dbcon" scope="session" class="db.DbConn" />
<%dbcon.getConn();
String str1=request.getParameter("ustext").trim();
String str2=request.getParameter("pswtext").trim();
传递数据我用post接收输入的数据啊,告诉指点下
我吧select后面的where条件去掉后就能正常的查询到数据
数据库我手工添加的,当然没空格啦,很奇怪,我如果不用汉字的话可以登录,有汉字登录的账户就不能登录
我jsp用的是gbk的解码,那数据库的解码在哪里呢?怎么设置,Acess的

在servlet的登录方法中设置一下request.setCharacterEncoding("GBK")和
response.setCharacterEncoding("GBK")就好了.

name='"+str1+"' and password='"+str2+"'"
这是什么?
为什么要这样写?看着不乱么?
String sql = "(select * from users where name=?and password=?";
conn = dbcon.getConn();
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, username);
pstmt.setInt(2, password);
rs = pstmt.executeQuery();

我是这样写的,你看一下吧。还有不建议你在JSP里连接数据库,还嫌JSP里不够乱啊~

密码不对?你的代码总体是怎么写的这不太清楚,不过我一般写的时候是查找用户名,rs.next()如果有的话证明用户名是存在的,之后再从rs中拿出密码,比较密码是否正确。你的语句我没看出来哪里错了,而且如果有语法错误程序会出错。
既然是密码错误你应该把密码比较的地方拿出来给我们看看。呵呵,我也是初学者,不知道说的能不能帮上你的忙。

肯定是数据库的字符集和你JSP中用的字符集不一致。

你那个连接字符串 也就是where条件后的代码有问题
你可一这样写 select *from users where name=? and password=?
在下面设置?的值
PreparedStatement 对象设置它的值
.setString (1,"要传的name");
.setStri