在servlet java

时间:2016-08-26 19:10:13

标签: java jdbc

基本上我试图通过我的java程序使用SELECT命令来查找mysql数据库中有多少人使用特定名称注册。该命令执行时没有任何错误,但结果与我在db中的结果不同。

这是我用来获取UID的java代码:

public void usernameAvail_fun(){
    String query = "SELECT UID FROM db.tb WHERE UFN=\"myuid\"";
    ResultSet ursa;
    try {
        ursa = st.executeQuery(query);
        System.out.println(ursa.toString());
    } catch (SQLException e) {
        e.printStackTrace();
    }
}

我碰巧得到了结果:com.mysql.jdbc.JDBC42ResultSet@11719758

2 个答案:

答案 0 :(得分:0)

首先将ursa初始化为null

添加PreparedStatement

public void usernameAvail_fun(){
  String query = "SELECT UID FROM db.tb WHERE UFN=\"myuid\"";
   ResultSet ursa= null;
try {
    PreparedStatement stmt = con.prepareStatement(query);
    ursa= stmt.executeQuery();
  while(ursa.next()) //print
 {
   ursa.getString(1); //or ursa.getString("//your column name");
 }
} 


catch (SQLException e) {
    e.printStackTrace();
}

}

答案 1 :(得分:0)

您正在打印一个java对象,因此输出就在那里。如果要打印uid,请使用以下语句 -

while (ursa.next()){
    System.out.println(ursa.getString(1));
}