проблема здесь:
java.sql.ResultSet rslt = stmt.executeQuery(" SELECT * FROM student where rno = nrno");
это приводит к передаче строки SELECT * FROM student where rno = nrno
в sqlServer, а это не то, что вам нужно.
Вы можете изменить его , как указано Ричи на
`java.sql.ResultSet rslt = stmt.executeQuery (" SELECT * FROM student where rno =" +` nrno);
Или лучше использовать параметризованный вызов, так как первый подход может быть склонен к sql Injection
PreparedStatement st = conn.prepareStatement(
"SELECT * FROM student where rno = ?");
st.setInt(1, nrno);
В вашем случае вы выполняете синтаксический анализ nrno для int, поэтому, вероятно, нет проблем с внедрением sql, но это в любом случае безопаснее для параметризованного подхода пользователя (скажем, тип параметра изменится на string в некотором будущем выпуске)