我希望获得与我的名称列相关的记录数量的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);
}
}
答案 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");