× 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
59,28 €SSD WD Blue SN550 500 Go (NMVe M.2, 2400 Mo/s) à 59,28 € livré
Valable jusqu'au 23 Octobre

Amazon Allemagne fait une promotion sur le SSD WD Blue SN550 500 Go (NMVe M.2) qui passe à 54,72 €. Comptez 4,56 € pour la livraison en France soit un total de 59,28 € livré alors qu'on le trouve ailleurs à partir de 85 €. Ce SSD utilise une interface M.2 NVMe PCIe Gen3 x 4 pour une connexion simple et des performances exceptionnelles : jusqu’à 2 400 Mo/s en lecture séquentielle et jusqu’à 1 950 Mo/s en écriture séquentielle. Le SSD est doté de la technologie 3D TLC NAND haute densité offrant une endurance d’écriture durable et assorti d’une garantie de cinq ans.

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et il n'y a pas de douanes. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> Voir l'offre
9,99 €Bracelet connecté Honor Band 4 avec tracker cardiaque IP67, écran OLED et Bluetooth 4 à 9,99 €
Valable jusqu'au 23 Octobre

Cdiscount propose actuellement le bracelet connecté de fitness Honor Band 4 avec tracker cardiaque à 9,99 €. Ce bracelet est étanche IP67 et possède le bluetooth 4.0. Avec lui, vous pouvez suivre votre rythme cardiaque, mais également vos pas et vos calories dépensées que vous pourrez afficher sur son écran OLED couleur, de même que l'heure courante. Il intègre également un réveil vibreur silencieux (pratique pour se réveiller la nuit sans réveiller sa moitié) et peut suivre vos phases de sommeil. Vous pourrez configurer le bracelet et suivre votre activité depuis n'importe quel appareil mobile avec Bluetooth 4 sous Android ou iOS. Vous pourrez contrôler votre musique du téléphone depuis le bracelet et afficher vos notifications. Sa batterie autorise une autonomie de 20 jours entre 2 recharges. Il est compatible Google Fit et Apple Santé.


> Voir l'offre
93,44 €SSD Western Digital Blue 1 To à 93,44 € livré
Valable jusqu'au 22 Octobre

Amazon Allemagne fait une promotion sur le SSD Western Digital Blue 1 To qui passe à 88,96 € (avec la TVA ajustée). Comptez 4,58 € pour la livraison en France soit un total de 93,44 € livré. On le trouve ailleurs à partir de 120 €. Ce SSD à mémoire TLC offre des vitesses de 545 Mo/s en lecture et 525 Mo/s en écriture. 

Vous pouvez utiliser votre compte Amazon France sur Amazon Allemagne et qu'il n'y a pas de douane. Si vous êtes perdu en allemand, vous pouvez traduire le site en anglais.


> 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