java.sql.SQLException: No value specified for parameter 2

菜鸟级别,求大神解答啊... 菜鸟级别,求大神解答啊 展开
 我来答
balsum
推荐于2017-10-10 · TA获得超过311个赞
知道小有建树答主
回答量:188
采纳率:100%
帮助的人:185万
展开全部

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);//此时没问题,但建议用上面那种。
百度网友4b86bec
2018-07-26
知道答主
回答量:2
采纳率:0%
帮助的人:1651
展开全部
psta.setObject(i+1,values[i+1]);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8d9f3b42c
2014-12-10 · TA获得超过136个赞
知道小有建树答主
回答量:305
采纳率:0%
帮助的人:86.2万
展开全部
下表是不是应该从0开始啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式