bonsoir,
comment faire pour utiliser la fonction SUM(). est ce qu'il faut ajouter un package ou quoi ?
bonsoir,
comment faire pour utiliser la fonction SUM(). est ce qu'il faut ajouter un package ou quoi ?
Salut,
Il n'y a pas besoin de "package" ou bibliothèque spéciaux pour utiliser une fonction SQL : il suffit qu'elle soit supportée par le SGBD (ce qui est le cas avec la plupart des SGBDR à priori) et de l'utiliser dans une requête, comme n'importe quel autre mot clef SQL (SELECT, WHERE, ou quoi), genre SELECT SUM(nom_colonne) FROM table ou SELECT id, SUM(valeur) AS total FROM table GROUP BY id, etc. Tout ce qui concerne l'usage de cette fonction en particulier concerne SQL, pas Java.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
salut,
J'utilise DB Browser for sqlite (3.10). Lorsque j'ai utilisé la fonction sum dans une requête Insert, j'ai eu une erreur sur SUM (The method SUM(Object) is undefined for the type new ActionListener(){}).
PS: merci pour votre réponse
Montre le code que tu écris. Et la stacktrace complète de l'exception.
L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
Nouveau sur le forum ? Consultez Les Règles du Club.
Voici une partie du code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 statement.executeUpdate("INSERT INTO Versement ( Nom , Prenom, Date ,Prix_du_logement, Somme_versee , Nom_du_projet, Versement_total) VALUES('" + nom.getText() +"','" +prenom.getText() +"','" +date.getText() + "'," + "(SELECT Prix_du_logement FROM Client WHERE Nom='"+ nom.getText() +"' AND Prenom='"+ prenom.getText() + "')," + verse.getText()+ "," + " (SELECT Nom_du_projet FROM Client WHERE Nom='" + nom.getText()+ "' AND Prenom='" +prenom.getText() + "'),"+ SUM(Versement_total)+ ")"); JOptionPane.showMessageDialog(null, "Element ajouté");
Ce n'est pas un problème Java.
Ta requête SQL ne peut pas fonctionner comme cela.
1) on ne peut pas appeler une sous-requête (avec SELECT) quand on utilise VALUES ( ...
c'est beaucoup plus simple : on utilise SELECT à la place de VALUES quand on fait appel à des données venant d'une autre table
2) tu utilises SUM(Versement_total) qui est un agrégat sans préciser de quelle table il vient.
Bref, en SQL tout est faux.
De ce que je comprends de ta requête, tu veux insérer dans la table Versement
des informations issues de la table Client en ajoutant la date et SUM(Versement_total)
Dans un premier temps, on va mettre de côté SUM(Versement_total) car je ne sais pas pourquoi tu veux l'insérer ni de quelle table cela provient.
La requête correcte est :
Dans un second temps, on verra comment ajouter SUM(Versement_total)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 "INSERT INTO Versement ( Nom , Prenom, Date ,Prix_du_logement, Somme_versee , Nom_du_projet) SELECT Nom, Prenom,'" +date.getText() + "', Prix_du_logement, Nom_du_projet FROM Client WHERE Nom='"+ nom.getText() +"' AND Prenom='"+ prenom.getText() + "'"
Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)
Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/
Partager