Java sql中一列的所有值之和

Java sql中一列的所有值之和,java,sql,sum,Java,Sql,Sum,我需要得到一列中所有值的总和,并将其放入文本字段中。我尝试了下面的代码,但出现了一个错误。-列名称总和(价格)无效 String sql="Select Sum(Price) from sold"; pst=con.prepareStatement(sql); rs=pst.executeQuery(); i

我需要得到一列中所有值的总和,并将其放入文本字段中。我尝试了下面的代码,但出现了一个错误。-列名称总和(价格)无效

     String sql="Select Sum(Price) from sold";
                              pst=con.prepareStatement(sql);
                              rs=pst.executeQuery();
                              if(rs.next()){
                                  String sum = rs.getString("Sum(Price)");
                                  textField_2.setText(sum);

com.microsoft.sqlserver.jdbc.SQLServerException: The column name Sum(Price) is not valid.

为计算列使用别名

Select Sum(Price) as sum_price from sold
...
String sum = rs.getString("sum_price");
textField_2.setText(sum);

为计算列使用别名

Select Sum(Price) as sum_price from sold
...
String sum = rs.getString("sum_price");
textField_2.setText(sum);
使用别名:

 String sql="Select Sum(Price) as sumprice from sold";
                          pst=con.prepareStatement(sql);
                          rs=pst.executeQuery();
                          if(rs.next()){
                              String sum = rs.getString("sumprice");
                              textField_2.setText(sum);
我不知道这些值转换是否正确。该值是某种类型的数字。也许你想要:

 String sql="Select cast(Sum(Price) as varchar(255)) as sumprice from sold";
使用别名:

 String sql="Select Sum(Price) as sumprice from sold";
                          pst=con.prepareStatement(sql);
                          rs=pst.executeQuery();
                          if(rs.next()){
                              String sum = rs.getString("sumprice");
                              textField_2.setText(sum);
我不知道这些值转换是否正确。该值是某种类型的数字。也许你想要:

 String sql="Select cast(Sum(Price) as varchar(255)) as sumprice from sold";

使用将序号列编号作为聚合结果的重载默认为无名:
rs.getString(1)

使用默认情况下不命名的重载,该重载将序号列作为聚合的结果:
rs.getString(1)

试试这个

        int sum = 0;
        Statement st = conn.createStatement();
        ResultSet res = st.executeQuery("SELECT SUM(price) FROM sold");
        while (res.next()) {
        int c = res.getInt(1);
        sum = sum + c;

        String str = Integer.toString(sum);
        textField_2.setText(str);
这会起作用的

试试这个

        int sum = 0;
        Statement st = conn.createStatement();
        ResultSet res = st.executeQuery("SELECT SUM(price) FROM sold");
        while (res.next()) {
        int c = res.getInt(1);
        sum = sum + c;

        String str = Integer.toString(sum);
        textField_2.setText(str);
这会奏效的