Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.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_Sql_Jdbc - Fatal编程技术网

如何在java中按日期获得销售?

如何在java中按日期获得销售?,java,sql,jdbc,Java,Sql,Jdbc,我正在使用ms access数据库。我需要按日期获得销售。 这是我的表格规格: BILL_NO DATE SALE 1 8/30/2010 1000 2 8/30/2010 2000 3 8/31/2010 3000 4 8/31/2010 2000 如果我想在2010年8月31日出售,它应该返回5000 我已经在数据库中使用java.sql.Date对象插入了日期值。应该注意的是,Date是MS Access中的。您

我正在使用ms access数据库。我需要按日期获得销售。 这是我的表格规格:

BILL_NO   DATE     SALE
1       8/30/2010   1000
2       8/30/2010   2000
3       8/31/2010   3000
4       8/31/2010   2000
如果我想在2010年8月31日出售,它应该返回5000


我已经在数据库中使用java.sql.Date对象插入了日期值。

应该注意的是,
Date
是MS Access中的。您需要使用大括号来指定它。此外,您希望使用将人类可读的日期字符串转换为fullworthy对象,然后您可以构造一个可按常规方式设置的对象

select
    sum(SALE) as TOTAL_SALE
from
    tbl
where
    DATE='8/31/2010'
group by
    DATE
这是一个开始:

String sql = "SELECT SUM(SALE) as TOTAL_SALE FROM tbl WHERE [DATE] = ? GROUP BY [DATE]";
java.util.Date date = new SimpleDateFormat("MM/dd/yyyy").parse("8/31/2010");

Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
int totalSale = 0;

try {
    connection = database.getConnection();
    statement = connection.prepareStatement(sql);
    statement.setDate(new java.sql.Date(date.getTime());
    resultSet = statement.executeQuery();
    if (resultSet.next()) {
        totalSale = resultSet.getInt("TOTAL_SALE");
    }
} finally {
    close(connection, statement, resultSet);
}

它的工作很好。。。Thanx。。请你告诉我,如果我想找到每周、每月、每年的销售,我该怎么做?不客气。别忘了把答案标为已接受。对于新问题,本质上你应该问一个新问题,但我会给你一个提示:阅读数据库提供的SQL日期/时间函数。提供MS access特定文档。页面中间有一节日期函数。单击此处查找信息和示例。
String sql = "SELECT SUM(SALE) as TOTAL_SALE FROM tbl WHERE [DATE] = ? GROUP BY [DATE]";
java.util.Date date = new SimpleDateFormat("MM/dd/yyyy").parse("8/31/2010");

Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
int totalSale = 0;

try {
    connection = database.getConnection();
    statement = connection.prepareStatement(sql);
    statement.setDate(new java.sql.Date(date.getTime());
    resultSet = statement.executeQuery();
    if (resultSet.next()) {
        totalSale = resultSet.getInt("TOTAL_SALE");
    }
} finally {
    close(connection, statement, resultSet);
}