Как получить продажу по дате в Java? - PullRequest
1 голос
/ 31 августа 2010

Я использую MS Access DB.Мне нужно получить продажу по дате.Вот моя спецификация таблицы:

BILL_NO   DATE     SALE
1       8/30/2010   1000
2       8/30/2010   2000
3       8/31/2010   3000
4       8/31/2010   2000

Если я хочу продажу на 31.08.2010, она должна вернуть 5000.

Я вставил значения Date, используя объект java.sql.DateDB.

Ответы [ 3 ]

2 голосов
/ 31 августа 2010

Следует отметить, что DATE является зарезервированным ключевым словом в MS Access. Вы должны указать это с фигурными скобками. Кроме того, вы хотели бы использовать SimpleDateFormat для преобразования удобочитаемой строки даты в полноценный объект java.util.Date, который вы в свою очередь можете построить java.sql.Date , с помощью которого в свою очередь можно установить PreparedStatement обычным способом.

Вот начальный удар:

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);
}
0 голосов
/ 31 августа 2010
Select sum(SALE) from [your table name] where Format([DATE],"mm/dd/yyyy")='08/30/2010'; 
0 голосов
/ 31 августа 2010
select
    sum(SALE) as TOTAL_SALE
from
    tbl
where
    DATE='8/31/2010'
group by
    DATE
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...