mysql对sql结果进行排序,并在java中通过循环在表中显示所有结果
我希望使用从jDateChooser获得的日期对sql结果进行排序,并显示所有返回的结果。这就是我到目前为止所做的。到目前为止,即使我循环了排序后的sql结果,我也只能得到1个结果
public void MonthlyTotalExpenses_Report(){
String typeOfReport = (String) report_type.getSelectedItem();
String reportDate = ((JTextField)report_date.getDateEditor().getUiComponent()).getText();
db databaseCon = new db();
Connection dbconnect = db.dbconnect();
if(typeOfReport == "Total expenses"){
String selectQuery = "select name,type,sum(amount),date_payed from expenses order by ? DESC";
try{
Connection con = databaseCon.dbconnect();
ResultSet rs = null;
PreparedStatement pst = null;
pst = con.prepareStatement(selectQuery);
pst.setString(1,reportDate);
rs = pst.executeQuery();
List<String> results = new ArrayList<String>();
while(rs.next()) {
results.add(rs.getString(1));
}
for(String result : results) {
System.out.println(result);
}
}catch (Exception e){
JOptionPane.showMessageDialog(null, e);
}
}
}
我希望像这样对结果进行排序(例如->;2017-01-01到用户使用jDateChooser选择的日期),并打印该期间内可用的所有记录。我只是觉得我写的sql查询是错误的。它只打印数据库中名称列的第一个值。请帮助我找出如何根据上面提到的内容进行排序,并打印返回的所有结果
# 1 楼答案
您可能希望在查询中的where条件中设置日期
考虑从字符串中获取日期。
然后让你的情人