JAVA中SQL语句的查询结果值如何体现?

下述语句:
String sql="select 角色 from userinfo where 员工编号(用户名) = '" + textName.getText() + "' and 密码 = '" + textage.getText()+ "'";

想要在userinfo表里根据输入的用户名和密码查询出“角色”列的具体值,但查询结果是形如“select 角色 from userinfo where 员工编号(用户名) = 'A001' and 密码 = 'a'”的,那如何能把角色列中的具体值取出来?比如角色列中的值为用户、管理员,怎么才能得到结果为“用户”?

初学者,问题比较低级,大家包涵,可就是得不到我想要的呀,怎么弄怎么弄,多谢!

String sql = "SELECT 角色 FROM userinfo WHERE 员工编号='A001' AND 密码='a'";
try {
  ResultSet res = stmt.executeQuery(sql);

  while (res.next()) { // 循环输出结果集
    String role = res.getString("角色"); //这里可以根据字段名称得到该记录的角色的值
  }
} catch (Exception e) {
    e.printStackTrace();
}

上边是基于JDBC访问Mysql的示例,希望对你有帮助

追问

加入您的代码后,执行时报出如下空对象异常,不知如何解决呀?您再帮忙看看,谢!
java.lang.NullPointerException
at hrs.LOGIN.Judge(LOGIN.java:125)
at hrs.LOGIN.access$0(LOGIN.java:109)
at hrs.LOGIN$1.mouseClicked(LOGIN.java:85)
。。。

追答

login.java那行代码是什么?

login.java的125行代码是什么?

追问

那个没显示全的SQL语句就是最上面提问的那句,万分感谢!

追答

    125行是哪一行代码?

    字符串比较应该用equal方法吧?

    你的st初始化正确吗?是否采用后边这种方法?

    con = DriverManager.getConnection("jdbc:mysql://ip/db", "username", "password");

    Statement stmt = con.createStatement();

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答