连接数据库后总是出现com.microsoft.sqlserver.jdbc.SQLServerException: ?????????,这是什么意思?

刚刚发现时编码问题,改变JSP页面编码就可以了。但是依旧抛出了com.microsoft.sqlserver.jdbc.SQLServerException:结果集没有当... 刚刚发现时编码问题,改变JSP页面编码就可以了。但是依旧抛出了com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行。
但是在数据库中有结果,用查询语句查询能找到结果,这是为什么?
代码:
try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String uri="jdbc:sqlserver://localhost:1433;DatabaseName=userlist";
String user="sa";
String password="sa";
con=DriverManager.getConnection(uri,user,password);
rightnot.append("Connection Successful!!!");
sql = con.createStatement();
ResultSet rs=sql.executeQuery("SELECT * FROM usr where username= \'"+namein+"\'");
if (password == rs.getString("password")){
rightnot.append(JprintT());
}
else {
rightnot.append(JprintF());
}
con.close();
}
catch (Exception e) {
rightnot.append(e);
}
return rightnot;
}

结果页面显示:
Connection Successful!!!com.microsoft.sqlserver.jdbc.SQLServerException: 结果集没有当前行。

请高手指点。
展开
 我来答
刀湘君KW
2010-12-25
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
rs是结果集,也就是相当于一个表。你直接就getstring。逻辑上获取的应该是一整列的数据啊。就算实际上获取到了,你拿一整列的数据跟一个变量做比较。呵呵这思维真有个性。lmwnewbegin说得对。先while循环逐行扫描rs结果集(像一行一行扫描表格一样)。然后循环一次比较一次。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lmwnewbegin
2010-12-22 · 超过35用户采纳过TA的回答
知道答主
回答量:150
采纳率:0%
帮助的人:110万
展开全部
if(rs.next() ){
if(password......)
...
}
rs.next()判断是否有下一行并跳到下一行。第一次执行时调到第一行,所以如果不写,就没有当前行。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式