|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre actif
![]() Inscription : avril 2002 Messages : 460 ![]() |
Bonjour à tous,
J'utilise une requête SQL en java sous Netbeans pour me permettre d"extraire le dernier Numéro d'Enregistrement qui se trouve dans un champs d'une base de données. J'ai bien vu qu'il existe le mot clef "MAX" mais dans mes lignes de codes se produit une erreur. Le code suivant mentionne une requête SQL qui fonctionne..mais ce qui me gêne un peu , c'est la boucle while qui est obligée de parcourir la base de données ( bien qu'elle ne soit pas importante en données ). Code Java :
J'ai essayé avec la requête : Code Java :
resultat = instruction.executeQuery("SELECT MAX(NUMENR) FROM APP.TABLETEST WHERE NUMENR IS NOT NULL"); Mais j'ai le message d'erreur : Citation:
Y a t'il possibilité d'avoir une requête SQL sans devoir parcourir avec la boucle "while" tous les enregistrement et me permettant d'obenir la dernière valeur enregistrée dans le champs "NUMENR" ? Merci par avance.. a+ |
|||
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
Commencez par apprendre la SQL !!! parce que vu le genre de traitement que vous faite je ne donne pas cher de votre peau lors de la montée en charge... Je suppose que c'est pour calculer une nouvelle clef ???
mais revenons à SQL. Dans votre requête : Code :
Zébulon ? Abracadabra ?? ou NUMENR ??? Aucun puisque vous ne lui donnez aucun nom ! SQL est, comme tout langage, doté d'une syntaxe. Si vous ne la respectez pas, pourquoi voudriez vous que lui vous respecte ? Commencez donc par apprendre ce langage et an particulier lisez ceci : http://sqlpro.developpez.com/cours/sqlaz/select/#L1.3 A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
||
|
00
|
|
|
#3 |
![]() ![]() |
Effectivement, pour récupérer le résultat de la requête, il faut donner un nom à la colonne de résultat de l'opération MAX(NUMENR).
Cependant, le message d'erreur semble dire que la colonne NUMENR n'existe pas dans la table interrogée. Vérifiez donc la structure de la table.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#4 |
![]() ![]() |
Le message d'erreur est un message Java, et je dirai qu'il provient de ces appels :
__________________
Email : http://scr.im/waldar |
|
00
|
|
|
#5 | ||||
|
Membre actif
![]() Inscription : avril 2002 Messages : 460 ![]() |
Je n'ai pas besoin d'une "montée en charge"', ni de devoir apprendre le SQL à fonds..
Bien je ne conteste pas le fait que j'ai tort, et que trouve le langage intéressant ..mais là n'est pas mon but.. Je ne programme que de temps en temps par loisir et cela sans intérêts quelconques..(m'enfin si on peut appeler cela de la programmation.. Dans mon programme je n'aurais en principe besoin que de deux ou trois requêtes.. J'ai parcouru le forum java-jdbc, celui de sql..en recherche sous quelques mots-clefs..et je suis notament tombé sur "MAX" et "DESC" entre autres J'ai également pioché dans deux anciens livres consacré à SQL que j'ai conservé par chance datant de 2001..mais je n'ai pas vraiment trouvé de réponse à ce que je me pose comme question... M'y suis je mal pris... Mon premier code de programme fonctionne. ( extrait d'une portion de mon code que j'avais mentionné plus bas... Code :
Citation:
Le champs "NUMENR" existe bien dans ma table. Elle enregistre comme données : Citation:
Puis de récupérer le résultat par un "resultat.getString("NUMENR")" par exemple. Comme déjà cité..j'ai peut être mal cherché ou j'interprète peut être mal.dans ma logique..d'où votre avis .. En tous les cas merci pour vos réponses... A+ |
||||
|
|
00
|
|
|
#6 | ||
![]() ![]() |
On t'a dit que ce qu'il manque à ta requête, c'est de baptiser la colonne résultat du MAX :
Code :
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
Copyright © 2000-2012 - www.developpez.com