如何将oracle数据库中的值汇总到java中?
我有一个连接到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,第二个方法搜索开始日期,最后一个方法搜索结束日期 我收到一条错误消息,说结果集为空或已关闭。我不知道为什么,因为我不明白这个信
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
- 不关闭语句和结果集
- 使用字符串变量存储日期
- 压痕不良且不一致