2015-03-05 3 views
0

Я хочу получить SQL Count количества записей, относящихся к моему столбцу имен, и отобразить их в моем поле JText (переменное имя «работники»). Мой код написан ниже. Я получаю исключение, говоря неправильное имя столбца. Любое предложение??Как использовать функцию sql count() в java

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); 
    } 
} 
+1

Просто используйте 'rs.getInt (1)'. Тогда вам не нужно беспокоиться о том, какое имя присваивается базе данных столбцу. –

+0

Это работает. Благодаря!! –

ответ

0

Вместо того чтобы использовать колонки name использовать столбец index.

String ss = rs.getString(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); 
    } 
0

Поскольку счетчик представляет собой целое значение у

int ss = rs.getInt(1); 

1 это номер столбца в запросе. Он начинается с 1, а не 0.

Другой способ назвать свой столбец в запросе

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

И получить значение по имени колонке

int ss = rs.getInt("cn"); 
Смежные вопросы