java数据库查询

[复制链接]
查看11 | 回复4 | 2009-8-20 11:58:26 | 显示全部楼层 |阅读模式
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里不够乱啊~
回复

使用道具 举报

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

使用道具 举报

千问 | 2009-8-20 11:58:26 | 显示全部楼层
肯定是数据库的字符集和你JSP中用的字符集不一致。
回复

使用道具 举报

千问 | 2009-8-20 11:58:26 | 显示全部楼层
你那个连接字符串 也就是where条件后的代码有问题你可一这样写 select *from users where name=? and password=?在下面设置?的值PreparedStatement 对象设置它的值.setString (1,"要传的name");.setString (2,"要传的password");数据库好像没的解码我不会Acess数据库 我只会sqlserver
回复

使用道具 举报

千问 | 2009-8-20 11:58:26 | 显示全部楼层
编码问题 数据库的编码字符集和JSP页面的编码字符集不一样 你可以些方法转换字符集 解决这个问题你添加用户和密码时,向数据库里插值时用.trim()没?如果那时没用,你现在从界面获取没有空格,但从数据库读出来的未必没有空格啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行