展开全部
SQL第二个条件参数没有值传入。
逻辑为由用户名查出用户数据,如果用户存在,验证密码。
但你的SQL却要求两个参数
将代码中
String sql = "select * from users where id=? and passwd=?";
rs = dealDateBase.getRS(sql, user.getUsername());
改为:
String sql = "select * from users where id=?";
rs = dealDateBase.getRS(sql, user.getUsername());
补充:如果你数据库中存的username字段为id,那这样没错。
如果是username字段,而你通过username去查询时,SQL应为:
String sql = "select * from users where username=?";
追答
。。。。。。虽然我只是做了个提示,但看样子你是一窍不通啊。。。。。。
1、确定SQL(包括表名和字段)
表名为:users,拥有字段username和passwd还是其它?
String sql1 = "select * from users where username = ?";
String sql2 = "select passwd from users where username = ?";
2、看以上sql,
select * from table;--表示查询出所有字段
select passwd from table;--表示至查询出密码
3、获取密码的方式
//sql为 select * from users where username = ?时
String dbPasswd = rs.getString("passwd");//确定数据库字段为passwd
//sql为 select passwd from users where username = ?时
String dbPasswd = rs.getString(1);//此时没问题,但建议用上面那种。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询