× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Autres langages
 Requete SQL ou code javaSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
fennec.
  Posté le 23/11/2007 @ 12:09 
Aller en bas de la page 
Petit astucien
Bonjour a tous, j'aimerai pouvoir faire une requete qui me prend 3 enregistrments la requete serait Select * from exemple where id like 'abcdef' est t-il possible d'améliorer cette requete pour qu'elle me prenne l'enregistrement précédent et le suivant sachant que la primary key n'est pas un auto-increment dans le programme sa donnerai [a href=getNext.do?var=qrvd]precedent[/a] abcdef [a href=getNext.do?var=ertet]suivant[/a] la solution ne doit pas obligatoirement être une requete mais peut être du code java ps: la solution ne peut pas être de rapatrier toute les clé primaire dans un tableau car il y a plus de 20 000rows dans la db et que plusieurs utilisateurs peuvent effectuer ce traitement en même temps j'utilise oracle comme data base (je ne sais pas la version d'oracle et il m'est pour le moment impossible de vérifier si le code java pourrai fonctionner j'en suis a l'analyse technique du programme)
Publicité
breizhbugs
 Posté le 23/11/2007 à 12:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
Message original par fennec.
la requete serait Select * from exemple where id like 'abcdef'
[a href=getNext.do?var=qrvd]precedent[/a] abcdef [a href=getNext.do?var=ertet]suivant[/a]

C'est en php que tu appeles ta requete et c'est la partie dans le like qui est variable si j'ai bien compris...

je connais pas le php mais peut etre peut tu faire une fonction du style

  1. string fonction (string parametre)
  2. {
  3. string requete = "select * from exemple where id like '" + parametre + "'";
  4. return (execute(requete));
  5. }

fennec.
 Posté le 26/11/2007 à 10:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
Bonjour, non mon application ne sera pas écrite en php mais en J2EE oui la partie dans le like est variables selon cette valeur j'aimerai pouvoir en même temps rapatrié l'enregistrement précendent et le suivant
breizhbugs
 Posté le 26/11/2007 à 11:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
fennec. a écrit :

Bonjour,

non mon application ne sera pas écrite en php

mais en J2EE

oui la partie dans le like est variables

selon cette valeur j'aimerai pouvoir en même temps rapatrié l'enregistrement précendent et le suivant

php ou java ca change rien!

Pour rapatrier l'element suivant, il faut avoir un moyen de connaitre l'identifiant précedent et suivant... or si ton identifiant est une chaine de caractere c'est pas facile. De plus si c'est pour rapatrier le precedent et le suivant, je suppose que si on clique sur "suivant" il faudra encore relancer la requete pour rapatrier le suivant etc, alors autant en rapatrier un certain nombre d'un coup pour limiter les accées au serveur de base de donner

Sinon ce qui est possible, c'est de rapatrier les resultats 10 par 10 (par exemple), a ton application ensuite de gerer la pagination:

SELECT *

FROM exemple

LIMIT 10, 20

est censée renvoyé les 11 résultats entre les lignes 10 et les lignes 20. (cette fonction ne marche pas sous acces!)

fennec.
 Posté le 27/11/2007 à 10:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
bonjour, en effet sa peut être une solution merci beaucoup pour la db il n'y a pas de problème ce n'est pas acces
fennec.
 Posté le 27/11/2007 à 12:43 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
limit ne fonctionne pas sous oracle

la solution que j'ai trouvé est celle si


dans un premier temps je récupère le numrow de l'enregistrement


select * from
(select id_varchar, ROWNUM num from
ma_table) where id_varchar like 'abcdef'

en second lieu

select * from
(select id_varchar, ROWNUM num from
ma_table) where num <= (ma variable java -5) and num >= (ma variable java +5)

y a t-il une autre solution?

celle ci serai un peu compliquée a gérer

Modifié par fennec. le 27/11/2007 12:47
breizhbugs
 Posté le 27/11/2007 à 13:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Apparement non,

mais peut etre devrais tu poser ta question dans un forum plus spécialisé en programmation/base de données...

fennec.
 Posté le 28/11/2007 à 08:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien
merci beaucoup je vais essayer de voir sur un forum pour les data base
Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
209 €Ecouteurs sans fil Apple AirPods Pro avec réduction active du bruit à 209 €
Valable jusqu'au 25 Novembre

Amazon propose actuellement les écouteurs sans fil Apple AirPods Pro avec boîtier de charge sans fil à 209 € livrés gratuitement. On les trouve ailleurs à 259 €. La livraison est gratuite. Les AirPods Pro signés Apple offrent une expérience audio supérieure en combinant Bluetooth 5.0, confort permanent, technologie de réduction de bruit active et une belle autonomie de 24 heures. Accompagnés d'un boîtier de charge sans fil, ils s'inviteront idéalement dans votre quotidien.


> Voir l'offre
279,20 €Mini PC MINISFORUM UM300 (Ryzen 3 3300U, 8Go RAM, 256 Go SSD) à 279,20 € avec le code BGUN30
Valable jusqu'au 26 Novembre

Banggood propose actuellement le mini PC MINISFORUM UM300 à 272,40 € avec le code promo BGUN30. Ce mini PC au format NUC d'Intel possède un processeur Ryzen 3 3300U avec chip graphique Vega 6, 8 Go de RAM DDR4 et un SSD de 256 Go. Il dispose d'une connectique complète : un emplacement 2,5 pouces libre (pour ajouter un disque dur ou un SSD supplémentaire, le WiFi6, le bluetooth 5.1, 3 ports USB 3.1, un port HDMI 2.0, un DisplayPort, deux ports Ethernet Gigabit et tourne sous Windows 10 que vous pourrez mettre en français. Il est livré avec une alimentation européenne. Branchez ce mini PC sur une TV ou un écran et vous avez un ordinateur discret et performant. Comptez 6,80 € pour l'assurance et la livraison soit un total de 279,20 € livré.

Ce marchand sérieux se trouvant en Chine, la livraison peut prendre une vingtaine de jours. Vous pouvez payer par carte bancaire ou par Paypal (conseillé pour bénéficier de la garantie Paypal).


> Voir l'offre
4,99 €Ventilateur Arctic F12 PWM PST 120 mm à 4,99 €
Valable jusqu'au 26 Novembre

Amazon fait une promotion sur le ventilateur Arctic F12 PWM PST 120 mm qui passe à 4,99 € au lieu de 7 €. Ce ventilateur vous permettra de refroidir efficacement et en silence votre boîtier. La fonction PWM permet de faire fonctionner le ventilateur précisément à la vitesse nécessaire.


> Voir l'offre

Sujets relatifs
parametrage du code java pour imprimer
[java] Simplification code
gestion de resultat de requete MSQL et JAVA
Classer une arraylist (java)
Ameliorer le Main "Java" avec les fonctions & procédures
Rafraichir un tableau en java
Calcul du jour d'après - - > java
encore java
Filter un fichier CSV en Java
java error
Plus de sujets relatifs à Requete SQL ou code java
 > Tous les forums > Forum Autres langages