комментарий решаемая проблема sql.java.sql.SQLException - PullRequest
0 голосов
/ 31 января 2019
private void totaleActionPerformed(java.awt.event.ActionEvent evt) {                                       
     PreparedStatement ps;
    ResultSet rst;
 String query="SELECT SUM( montant_m)  FROM `mnd` ";
   String num_m = jTF1.getText();
    try {
        ps=Connecteur_db.connecterDB().prepareStatement(query);
        // ps.setString(1, num_m);
         rst=ps.executeQuery();
         if(rst.next()){
            String som_t = rst.getString("SUM(montant_m)");
           jLabe_resultat.setText(""+som_t);
           JOptionPane.showMessageDialog(null,""+som_t);
          }
         } catch (SQLException ex) {            java.util.logging.Logger.getLogger(noveau_j.class.getName()).log(Level.SEVERE, null, ex);
    }
      } 

При попытке выполнить это я получаю сообщение об ошибке типа «Причина: java.sql.SQLException: столбец 'SUM (montant_m)' не найден. В чем здесь проблема ?? Пожалуйста, помогите мне ..Извините за мой плохой английский Это класс myconnecteur_db () соединение

public static Connection connecterDB() {
    Connection conx = null;
    String pilot = "com.mysql.cj.jdbc.Driver";
    try {
        Class.forName(pilot);//chargement de driver
        System.out.println("Driver ok");
        String url = "jdbc:mysql://localhost:3307/tc";
        String user = "root";
        String pw;
        pw = "root";
        Connection con = DriverManager.getConnection(url, user, pw);
        System.out.println("la connection est bien etablir");
        return con;
    } catch (Exception e) {
        System.out.println("Echec connection!!");
        e.printStackTrace();
        return null;

    }
}

1 Ответ

0 голосов
/ 31 января 2019

Я предполагаю, что это происходит в строке rst.getString("SUM(montant_m)")

SUM(montant_m) не имеет пробела до montant_m.

Чтобы упростить задачу, используйте запрос:

SELECT SUM(montant_m) AS total FROM mnd

А потом rst.getString("total")

...