首页 > 解决方案 > 字符串查询 = "SELECT sum(Cardhundred)FROM Dialog";

问题描述

目前正在尝试获取名为 的列的整数Cardhundred总和,我没有继续回答,有人可以建议我获得列中所有整数的总和吗?

我想从 access 数据库中的列中获取总和,我想从中获取总和的列的所有整数值都不是 double 或 float,并且我已经为没有结果的代码做了一些代码,这意味着应该显示结果的文本字段为空。

这是我的代码:

if(showtotal.isSelected()) { 
   try { 
       Connection conn = DriverManager.getConnection("jdbc:ucanaccess://E:\\Mydb.accdb"); 
       Statement st = conn.createStatement(); 
       String query = "SELECT sum(Cardhundred)FROM Dialog"; 
       ResultSet rs=st.executeQuery(query); 
       if(rs.next()) { 
           String total=rs.getString("sum(Cardhundred)"); 
           showdate.setText(""+total+""); 
       } 
   } catch(Exception e){ } 
}

标签: javadatabase

解决方案


有两种方法可以解决这个问题:使用列索引(而不是名称)然后您就不必担心表达式的名称:

int total = rs.getInt(1);

JDBC 中的列编号从 1 开始,而不是像 Java 中的数组那样从 0 开始。

或者,在查询中使用列别名:

String query = "SELECT sum(Cardhundred) as total_number FROM Dialog"; 

然后使用该别名获取值:

int total = rs.getInt("total_number");

推荐阅读