刚刚发现时编码问题,改变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: 结果集没有当前行。请高手指点。
rs是结果集,也就是相当于一个表。你直接就getstring。逻辑上获取的应该是一整列的数据啊。就算实际上获取到了,你拿一整列的数据跟一个变量做比较。呵呵这思维真有个性。lmwnewbegin说得对。先while循环逐行扫描rs结果集(像一行一行扫描表格一样)。然后循环一次比较一次。