Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.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
如何将oracle数据库中的值汇总到java中?_Java_Sql_Oracle_Jdbc - Fatal编程技术网

如何将oracle数据库中的值汇总到java中?

如何将oracle数据库中的值汇总到java中?,java,sql,oracle,jdbc,Java,Sql,Oracle,Jdbc,我有一个连接到Oracle数据库的java应用程序。我有一个表单,用户在其中输入一个名为COMMUNITY\u ID、一个名为start\u date的开始日期和一个名为end\u date的结束日期 我希望应用程序在数据库中的表中搜索输入的值,当搜索结果正确时,我希望它显示总值的总和 我有三种方法;每个方法负责搜索单个文本框。例如,第一个方法total 1搜索社区ID,第二个方法搜索开始日期,最后一个方法搜索结束日期 我收到一条错误消息,说结果集为空或已关闭。我不知道为什么,因为我不明白这个信

我有一个连接到Oracle数据库的java应用程序。我有一个表单,用户在其中输入一个名为
COMMUNITY\u ID
、一个名为
start\u date
的开始日期和一个名为
end\u date
的结束日期

我希望应用程序在数据库中的表中搜索输入的值,当搜索结果正确时,我希望它显示总值的总和

我有三种方法;每个方法负责搜索单个文本框。例如,第一个方法
total 1
搜索
社区ID
,第二个方法搜索
开始日期
,最后一个方法搜索
结束日期

我收到一条错误消息,说结果集为空或已关闭。我不知道为什么,因为我不明白这个信息

下面是我的代码。如果有人知道如何解决这个问题,请帮助我

public void total3()
{
    ResultSet result;
    System.out.println("total 3");

    String endDate = this.EndTxtBox.getText();

    try
    {
        rs=st.executeQuery("select RECIPT_ID,COMMUNITY_ID,VALUE,START_DATE,END_DATE, ITEM_BOUGHT,REASON from RECIPTS where  END_DATE = '" +endDate+"'");
        //display();
        this.EndTxtBox.setText(rs.getString("END_DATE"));
    }
    catch(Exception ex)
    {

        JOptionPane.showMessageDialog(null, "Searched Failed" + ex);
    }

    try
    {
        result =  rs=st.executeQuery("select SUM(VALUE)from RECIPTS where END_DATE = '" +endDate+"'" );
        //result =  rs=st.executeQuery("select RECIPT_ID,COMMUNITY_ID,VALUE,START_DATE,END_DATE, ITEM_BOUGHT,REASON,SUM(VALUE)from RECIPTS group by RECIPT_ID,COMMUNITY_ID,VALUE,START_DATE,END_DATE, ITEM_BOUGHT,REASON ");
    }
    catch(Exception ex)
    {
        JOptionPane.showMessageDialog(null, "Error" + ex);
    }
}

有什么想法吗?有什么问题吗?

在转到结果集的第一行之前,您试图读取结果集:

if (rs.next()) {
    endDate = rs.getString("END_DATE");
}
您的代码中充满了错误做法:

  • 混合UI代码和数据库访问代码
  • 捕捉异常
  • 当您只对其中一行和列感兴趣时,选择大量的行和列
  • 不使用事先准备好的陈述
  • 对同一事物同时使用
    结果
    rs
  • 不关闭语句和结果集
  • 使用字符串变量存储日期
  • 压痕不良且不一致

在转到结果集的第一行之前,您试图读取结果集:

if (rs.next()) {
    endDate = rs.getString("END_DATE");
}
您的代码中充满了错误做法:

  • 混合UI代码和数据库访问代码
  • 捕捉异常
  • 当您只对其中一行和列感兴趣时,选择大量的行和列
  • 不使用事先准备好的陈述
  • 对同一事物同时使用
    结果
    rs
  • 不关闭语句和结果集
  • 使用字符串变量存储日期
  • 压痕不良且不一致

仅仅因为您不理解信息并不意味着它没有帮助。也许我们能理解。粘贴完整的堆栈跟踪。不理解消息并不意味着它没有帮助。也许我们能理解。粘贴完整的堆栈跟踪。