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;
}
}
最佳答案
我假设这发生在 rst.getString("SUM(montant_m)")
SUM(montant_m)
在 montant_m
之前没有空格。
为了更容易,请使用查询:
SELECT SUM(montant_m) AS total FROM mnd
然后rst.getString("total")
关于java - 评论解决问题sql.java.sql.SQLException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54451173/