Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用java从数据库中提取值之和_Java - Fatal编程技术网

用java从数据库中提取值之和

用java从数据库中提取值之和,java,Java,我想在textfield中显示金额的总和,但从数据库中获取的金额..这里我尝试了此代码,但在textfield中仅显示0.0…无法获取实际金额 { 公共作废actionPerformedActionEvent arg0 { try { String t= (String)client.getSelectedItem(); //client = JCombobox String qu

我想在textfield中显示金额的总和,但从数据库中获取的金额..这里我尝试了此代码,但在textfield中仅显示0.0…无法获取实际金额

{ 公共作废actionPerformedActionEvent arg0 {

            try
            {
                String t= (String)client.getSelectedItem();   //client = JCombobox
                String query1="select sum(Amount) as total from enquiry where client= ?";
                PreparedStatement p=conn.prepareStatement(query1);
                p.setString(1,tfsum.getText());    //tfsum = textfield whr sum will displays
                ResultSet r=p.executeQuery();

                if(r.next())
                {

                    String s=r.getString("sum");

                    tfsum.setText(s);

                }
                r.close();
                p.close(); 

            }
            catch(Exception d)
            {
                d.printStackTrace();
            }



        }
    }); 
使用sum而不是total。因为total不是有效的聚合函数

同时从查询中删除反勾号。不需要在反勾号/引号中添加列名。请尝试此操作

String query1="select sum(Amount) from enquiry where client= ?";

totalAmount不是有效的SQL。请尝试sumAmount。并使用调试器和堆栈跟踪;它们存在是有原因的。请尝试String query1=从查询中选择sumAmount,其中client=?;我认为不需要反勾号too@ScaryWombat它们不会造成伤害。也许OP选择使用它们是因为CLIENT是MySQL中的一个关键字,但不是保留关键字。@shmosel,@吓人…我试过了,但现在有空文本字段..甚至没有0.0按位置而不是名称从结果集中提取,或者给结果一个名称,即选择sumAmount作为total from…这些不是引号,它们是反勾号。有些人更喜欢用反勾号括住列和表名。我试过没有反勾号,但不起作用…字符串query1=selectsumAmount from enquiry where client=?;p.setString1,tfsum.getText;…将值传递给客户端的语法正确吗?…因为tfsum是文本字段名,结果应该显示在该字段中。数据库驱动程序将负责将值替换为SQL。您是否尝试直接在db上执行此SQL以获得结果。还有一件事,您为什么需要如果您仅获取1个客户端,则d求和record@Maverick...Same查询在sqlite数据库中工作,并给出正确的总和..并且针对1客户端,数据库中有多个值…所以这里要在textfield中显示这些值的总和。。。