Selection aleatoire d'un enregistrement sql

Résolu
Signaler
Messages postés
160
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
9 décembre 2018
-
Messages postés
11
Date d'inscription
samedi 20 décembre 2003
Statut
Membre
Dernière intervention
6 janvier 2007
-
bonjour,

Voila dans asp.net je desire selectioner dans une table SQL un enregistrement aleatoire (ex pour afficher une citation au hasard)

avez vous une idee

merci

3 réponses

Messages postés
11
Date d'inscription
samedi 20 décembre 2003
Statut
Membre
Dernière intervention
6 janvier 2007

Effectivement si tu supprime des enregistrements il te faut reindexer la base avec la commande DBCC REINDEX que tu doit pouvoir piloter par programme. Sinon il te faut tester l'existence de la valeur générée par le Random dans une boucle while.
Messages postés
11
Date d'inscription
samedi 20 décembre 2003
Statut
Membre
Dernière intervention
6 janvier 2007

bonjour,

    il te faut une table avec un id en clef primaire
1° étape récupérer l'id max
        int max = select max(id) from matable;
2° étape créer un random
        Random rand  = new Random();
         int valeur = rand.Next(0, max);
3° étape sélectionner l'enregistrement          string citation select citation from matable where id valeur;

Attention c'est pas du code source que j'ai écrit, c'est juste pour te montrer la logique.                                 
Messages postés
160
Date d'inscription
mardi 17 janvier 2006
Statut
Membre
Dernière intervention
9 décembre 2018

merci de ta reponse, j avais bien pense a une solution comme celle la mais elle me fonctionne pas. en effet l'id du fichier n'est pas forcement lineaire, en car notament de suppression d'enregistrement il y a des troux dans l'ID. et il y a un risque pour que la selection se fasse sur un id qui n'existe pas.

nicolas