2010-08-30 5 views
1

J'utilise ms access DB. Je dois obtenir la vente par date. Voici mon cahier des charges de la table:Comment obtenir la vente par date en java?

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

Si je veux la vente pour 8/31/2010 il doit retourner 5000.

J'ai inséré des valeurs de date à l'aide objet java.sql.Date dans DB.

Répondre

2

pris acte devrait être que DATE est un reserved keyword dans MS Access. Vous devez le spécifier avec des accolades. En outre, vous souhaitez utiliser SimpleDateFormat pour convertir une chaîne de date lisible par un humain en un objet complet java.util.Date que vous pouvez à son tour construire un java.sql.Date qui peut à son tour être défini dans le PreparedStatement de la manière habituelle.

Voici un coup d'envoi:

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

Son travail fin ... .. Thanx Plzpeut u me dire si je veux trouver la vente annuelle mensuelle hebdomadaire comment puis-je faire cela? – Pratik

+1

De rien. N'oubliez pas de marquer la réponse acceptée. Pour la nouvelle question, vous devriez essentiellement poser une nouvelle question, mais je vais vous donner un indice: lire les fonctions SQL date/heure offertes par la DB. La documentation spécifique à MS Access est disponible [ici] (http://www.techonthenet.com/access/functions/). À mi-chemin de la page, il y a une section * Fonctions de date *. Cliquez sur votre chemin à travers pour trouver des informations et des exemples. – BalusC

0
select 
    sum(SALE) as TOTAL_SALE 
from 
    tbl 
where 
    DATE='8/31/2010' 
group by 
    DATE 
0
Select sum(SALE) from [your table name] where Format([DATE],"mm/dd/yyyy")='08/30/2010'; 
Questions connexes