如何在java中使用sql count()函数

时间:2015-03-05 12:21:09

标签: java sql-server-2008

我希望获得与我的名称列相关的记录数量的SQL Count,并将其显示在我的JTextfield中(变量名称' workers')。我的代码写在下面。我收到一个说错列名的异常。有什么建议??

try{
    Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        conn = DriverManager.getConnection(DB_URL, USER, PASS);
        pst = conn.createStatement();
        String sql = "select count(name) from employee_details";
        rs=pst.executeQuery(sql);
      while(rs.next()){
          String ss = rs.getString("count(name)");
          workers.setText(ss);
      }

    }catch(Exception e) {
        JOptionPane.showMessageDialog(null, e);
    }
}

3 个答案:

答案 0 :(得分:0)

不使用列name而是使用列index

 String ss = rs.getString(1);

答案 1 :(得分:0)

尝试使用别名

String sql = "select count(name) as 'mycount' from employee_details";
    rs=pst.executeQuery(sql);
  while(rs.next()){
      String ss = rs.getString("mycount");
      workers.setText(ss);
  }

答案 2 :(得分:0)

因为count是整数值,所以

    int ss = rs.getInt(1);

1是查询中的列号。它从1开始,而不是0

另一种方法是在查询中命名列

String sql = "select count(name) as 'cn' from employee_details";

通过列名

获取值
int ss = rs.getInt("cn");