IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

SQLITE - Résultat : 0 enregistrements ramenés (ALORS QU'IL Y A DES DONNEES)


Sujet :

Langage SQL

  1. #1
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut SQLITE - Résultat : 0 enregistrements ramenés (ALORS QU'IL Y A DES DONNEES)
    Bonjour,

    Ben voilà j'en perds mon latin, ma base de données marche bien sauf dans un cas qui me rend fou. je développe sous python avec SQLITE. Pour ouvrir ma BdD j'utilise DB Browser SQLITE.
    Quand je test ma BdD avec l'onglet "Exécuter SQLITE"
    • SELECT * FROM tb_discours WHERE date : cela marche pour tout
    • sauf pour les noms SELECT * FROM tb_discours WHERE nom
    • J'ai le message suivant :

    L'exécution s'est terminée sans erreur. Résultat : 0 enregistrements ramenés en 10ms
    À la ligne 1 :
    SELECT * FROM tb_discours WHERE nom
    Pourriez-vous s'il vous plaît m'aider, car je ne comprends pas et je vous joins la table concernée. BdD_test.zip
    Merci beaucoup par avance.
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

  2. #2
    Membre éprouvé
    Homme Profil pro
    Chef de projets retraité
    Inscrit en
    Juillet 2011
    Messages
    420
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : Chef de projets retraité
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2011
    Messages : 420
    Points : 1 102
    Points
    1 102
    Par défaut
    Bonjour,

    Normal...

    Extrait du site SQLITE : Paragraphe 14:
    14. Boolean Expressions

    The SQL language features several contexts where an expression is evaluated and the result converted to a boolean (true or false) value. These contexts are:

    the WHERE clause of a SELECT, UPDATE or DELETE statement,
    the ON or USING clause of a join in a SELECT statement,
    the HAVING clause of a SELECT statement,
    the WHEN clause of an SQL trigger, and
    the WHEN clause or clauses of some CASE expressions.

    To convert the results of an SQL expression to a boolean value, SQLite first casts the result to a NUMERIC value in the same way as a CAST expression. A numeric zero value (integer value 0 or real value 0.0) is considered to be false. A NULL value is still NULL. All other values are considered true.

    For example, the values NULL, 0.0, 0, 'english' and '0' are all considered to be false. Values 1, 1.0, 0.1, -0.1 and '1english' are considered to be true.

    Beginning with SQLite 3.23.0 (2018-04-02), SQLite recognizes the identifiers "TRUE" and "FALSE" as boolean literals, if and only if those identifiers are not already used for some other meaning. If there already exists columns or tables or other objects named TRUE or FALSE, then for the sake of backwards compatibility, the TRUE and FALSE identifiers refer to those other objects, not to the boolean values.

    The boolean identifiers TRUE and FALSE are usually just aliases for the integer values 1 and 0, respectively. However, if TRUE or FALSE occur on the right-hand side of an IS operator, then they form new unary postfix operators "IS TRUE" and "IS FALSE" which test the boolean value of the operand on the left.
    Donc:
    tes dates sont évaluées comme des nombres différents de zéro => Toutes tes lignes sont affichées
    Les noms sont évalués comme des nombres égaux à zéro => Aucune ligne n'est affichée.

    De toutes façons, il vaudrait mieux écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM tb_discours WHERE <expression>
    où tu explique ce tu désires...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Par exemple :
    nom = 'Fontainebleau' ou
    nom like '%o%'
    enfin une expression qui vérifie quelque chose dans ta base de données pas une colonne seule dont l'évaluation dépend du sens du vent (si il y a des chiffes ou pas)...

    Cordialement

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,
    Ne manque t'il pas un opérateur dans ta requête ?
    Il faut une expression booléenne dans la clause WHERE, or WHERE nom n'en n'est pas une.
    Je suis d'ailleurs étonné que la première requête fonctionne...

    Si ce n'est qu'une erreur de copier/coller, il nous faudrait la requête exacte, un jeu de test et le résultat attendu.
    Il peut tout à fait s'agir d'un "problème" de collation.

    Tatayo.

  4. #4
    Membre régulier Avatar de lagratteCchouette
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 190
    Points : 74
    Points
    74
    Par défaut Précisions
    Merci à tous les deux pour vos retours:
    Vous avez raison j'ai compris, c'est le copier/coller qui m'a mis dedans.
    Merci beaucoup pour toutes ces pistes.
    LagratteCchouette
    La musique donne une âme à nos cœurs et des ailes à la pensée - Platon

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Lazarus] Base SQLite, ajout d'enregistrements
    Par OR34a dans le forum Lazarus
    Réponses: 7
    Dernier message: 18/08/2015, 17h32
  2. récupérer résultat et enregistrer dans la BDD
    Par mawkli dans le forum Langage
    Réponses: 3
    Dernier message: 10/07/2012, 16h54
  3. Réponses: 10
    Dernier message: 19/07/2011, 19h29
  4. [Sqlite / Excel] limitation enregistrement
    Par jojo_ol76 dans le forum Android
    Réponses: 3
    Dernier message: 03/06/2011, 09h38
  5. Réponses: 1
    Dernier message: 13/01/2008, 21h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo