Probleme sqlite
balkis3005
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
jee pee Messages postés 41521 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41521 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je suis un débutant en programmation, surtout sur les bases de données. Je me suis tourné vers sqlite pour faire un programme. Celui-ci doit me fournier un tableau aléatoire contenant des repas (peuplée au préalable par l'utilisateur) pour plusieurs jours. J'ai fait tout un programme pour insérer les donnes dans une table, et il marche.
Malheureusement la partie de récupération de données aléatoire me pose problème...

Quelqu'un aurait une idée ?
Je suis un débutant en programmation, surtout sur les bases de données. Je me suis tourné vers sqlite pour faire un programme. Celui-ci doit me fournier un tableau aléatoire contenant des repas (peuplée au préalable par l'utilisateur) pour plusieurs jours. J'ai fait tout un programme pour insérer les donnes dans une table, et il marche.
Malheureusement la partie de récupération de données aléatoire me pose problème...
Quelqu'un aurait une idée ?
A voir également:
- Probleme sqlite
- Sqlite compare - Télécharger - Bases de données
3 réponses
Bonjour,
Tu utilises quel langage ? nb_insert n'est pas défini dans ce bout de code, que contient-il ?
Tu as plusieurs problèmes de logique. Tu demandes le nb de jours et tu le multiplies par 2, exemple 2 jours X 2 repas = 4, mais ce 4 ce sont des repas et tu exécutes 4 cycles où tu vas chercher midi ET soir donc au total 8, tu ne devrais pas multiplier par 2. Ton random_id peut être valorisé à zéro, mais logiquement dans une table là le 1er id est à 1, donc on ne trouvera pas l'id aléatoire zéro. Après sur ton id aléatoire tu rajoutes une condition midi ou soir, si l'id affecté ne correspond pas au champ 'temps' le select ne ramènera rien.
Et dans ce code on ne voit pas de gestion des erreurs sur la bdd, y en a-t-il ? car cela te donnerait les anomalies ou erreurs.
PS : Donne nous le code pas des images. Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Tu utilises quel langage ? nb_insert n'est pas défini dans ce bout de code, que contient-il ?
Tu as plusieurs problèmes de logique. Tu demandes le nb de jours et tu le multiplies par 2, exemple 2 jours X 2 repas = 4, mais ce 4 ce sont des repas et tu exécutes 4 cycles où tu vas chercher midi ET soir donc au total 8, tu ne devrais pas multiplier par 2. Ton random_id peut être valorisé à zéro, mais logiquement dans une table là le 1er id est à 1, donc on ne trouvera pas l'id aléatoire zéro. Après sur ton id aléatoire tu rajoutes une condition midi ou soir, si l'id affecté ne correspond pas au champ 'temps' le select ne ramènera rien.
Et dans ce code on ne voit pas de gestion des erreurs sur la bdd, y en a-t-il ? car cela te donnerait les anomalies ou erreurs.
PS : Donne nous le code pas des images. Pour la mise en forme des sources, au dessus de la zone d'édition de tes messages, il y a des icônes pour l'enrichissement du texte. Celle qui a cet aspect
<> ▼permet d'appliquer au code, suivant une liste de valeurs, le format correspondant à sa nature (html, Php, C, Python, Shell, ...).
Un petit tuto là : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Je viens de voir qu'il existe une fonction de sélection aléatoire dans sqlite : http://www.yvoz.net/2011/10/sql-selection-aleatoire-bdd/#SQLite
donc pour toi
SELECT COLUMN FROM TABLE ORDER BY Random() LIMIT 1
donc pour toi
SELECT repas FROM labouffe WHERE temps = 'soir' ORDER BY Random() LIMIT 1