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

Python Discussion :

afficher un message erreur avec sqlite3 [Python 3.X]


Sujet :

Python

  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2018
    Messages : 236
    Points : 215
    Points
    215
    Par défaut afficher un message erreur avec sqlite3
    Bonjour,

    j'aimerai afficher un message erreur si il trouve pas un nom dans le fichier doc.db.
    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    def searchsqlite(code, query):
      try:
          sqliteConnection = sqlite3.connect('doc.db')
          cursor = sqliteConnection.cursor()
          print(f'{GREEN}Connecté à SQLite{END}')
          sqlite_select_query = """SELECT doc FROM DATABASE WHERE {0} == '{1}';""".format(query,code)
          cursor.execute(sqlite_select_query)
          records = cursor.fetchall()
          for doc in records:
            print("doc[0]") # <= afficher un message erreur si il trouve pas le nom dans le doc.db.
          cursor.close()
      except sqlite3.error as error:
           print("Impossible de lire les données de la table sqlite", error)
      finally:
            if sqliteConnection:
               sqliteConnection.close()
               print("La connexion SQLite est fermée")
    pouvez-vous me dire comment faire pour afficher un message erreur si le nom existe pas dans le fichier doc.db? merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    11 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 11 652
    Points : 28 570
    Points
    28 570
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Miska59 Voir le message
    pouvez-vous me dire comment faire pour afficher un message erreur si le nom existe pas dans le fichier doc.db?
    Plusieurs solutions (présentées ici dans l'ordre inverse de leur efficience)
    • commencer par un select count(doc) from ...
    • tester si len(records) vaut 0
    • tester si cursor.rowcount vaut 0
    • tester si records est vrai (ie contient des trucs) ou faux (n'en contient pas)


    PS: nommer sa table "database" n'est pas une super idée concernant la lisibilité et la corrélation "nom" <=> "ensemble que c'est censé représenter"...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2018
    Messages : 236
    Points : 215
    Points
    215
    Par défaut
    Bonjour Sve@r,

    pouvez-vous montrer comment puis-je fait pour afficher le afficher le résultats si le nom existe ou pas dans le fichier doc.db car je suis juste un débutant en python.

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    11 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 11 652
    Points : 28 570
    Points
    28 570
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Miska59 Voir le message
    car je suis juste un débutant en python.
    Etre débutant n'est pas une excuse. Quand on débute en Python (ou en n'importe quoi), on prend un tuto et on le lit pour apprendre les bases de la base (comment tester les choses, choisir une alternative ou l'autre, boucler pour répéter les choses, etc). Bref on commence par travailler personnellement avant de vouloir faire travailler les autres pour justifier sa flemme. Et surtout on évite de se lancer dans des tâches complexes (interrogation bdd par exemple) sans d'abord maîtriser les choses simples.
    Et ce n'est pas que pour toi. Moi qui ai envie de voir si golang vaut le coup, je viens de m'y mettre de la façon décrite. Je suis allé chercher un tuto et ai commencé à le parcourir. Et s'il me convient pas (par exemple parce qu'il parle de "déclaration de variable courte" sans expliquer de quoi il s'agit ben je le quitte et vais en chercher un autre plus adapté à mon niveau de débutant. Mais si je dois m'y mettre, ben tant que je ne maîtriserai pas les bases je ne tenterai pas des trucs comme par exemple golang/qt même si j'ai très envie de voir ce que ça donne.

    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    cursor.execute(sqlite_select_query)
    records = cursor.fetchall()
    if records:
    	for doc in records: print("doc[0]")
    else: print("Pas de nom correspondant à [%s]" % query)
    cursor.close()
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre expert Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    septembre 2013
    Messages
    1 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2013
    Messages : 1 754
    Points : 3 701
    Points
    3 701
    Par défaut
    bonjour
    Citation Envoyé par Sve@r Voir le message
    Mais si je dois m'y mettre, ben tant que je ne maîtriserai pas les bases je ne tenterai pas des trucs comme par exemple golang/qt même si j'ai très envie de voir ce que ça donne.
    Ce langage n'est pas fait pour du gui. Et utiliser une lib Qt qui n'a pas eu un seul commit depuis 2ans ... j'ai pas trop confiance.
    $moi= ( !== ) ? : ;

  6. #6
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    11 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 11 652
    Points : 28 570
    Points
    28 570
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par papajoker Voir le message
    Ce langage n'est pas fait pour du gui.
    Ah? De ce que j'ai lu de golang ça me semblait intéressant (il semble combiner certaines simplicités de Python à la vitesse du compilé). De plus il ressemble à C++ et Qt ayant été écrit en C++ (et accessible donc depuis C++) ça me paraissait intérssant à regarder...

    Citation Envoyé par papajoker Voir le message
    Et utiliser une lib Qt qui n'a pas eu un seul commit depuis 2ans ... j'ai pas trop confiance.
    Rhooo... Peut-être parce qu'il n'y a pas eu de bug signalé ni d'évolution nécessaire depuis 2 ans ...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Membre expert Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    septembre 2013
    Messages
    1 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2013
    Messages : 1 754
    Points : 3 701
    Points
    3 701
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    il semble combiner certaines simplicités de Python à la vitesse du compilé
    C'est un langage véritablement simpliste donc "presque" le contraire de python

    Citation Envoyé par Sve@r Voir le message
    De plus il ressemble à C++ et Qt ayant été écrit en C++ (et accessible donc depuis C++) ça me paraissait intéressant à regarder...
    Non, comme Rust, ce n'est pas un langage objet ! Et de par sa simplicité(nature), difficile de trouver une vague ressemblance avec C++
    Il est d'ailleurs mis en concurrence par les devs avec Tust (rust pas de garbage collector, plus rapide mais codage beaucoup plus long)
    Go est l'antithèse de Rust, car si l'on vient d'un langage type C/pascal, il est si simpliste qu'il ne faut que 8 heures pour appréhender relativement bien le tout (sans goroutines).

    - Pour de la console (à 99,99% ...)
    - Très Portable (libs sont intégrées dans l'exe, donc même exe va fonctionner sur tout linux et pas besoin de re-compil à chaque update du système)
    - Énorme vitesse de compilation
    - Les coroutines intégrées au langage: très très bien (par rapport à python c'est le jour et la nuit !)
    - langage simpliste : on code et recode des choses simples, ignorées avec python ou autre
    $moi= ( !== ) ? : ;

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    11 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 11 652
    Points : 28 570
    Points
    28 570
    Billets dans le blog
    1
    Par défaut
    Ok, je voulais juste regarder si ça valait le coup, si c'était intéressant de s'y mettre. Je te fais confiance
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2018
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2018
    Messages : 236
    Points : 215
    Points
    215
    Par défaut
    merci Sve@r, ça fonctionne très bien. merci pour votre soutien.

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

Discussions similaires

  1. [PDO] message erreur avec 2 requetes prepare
    Par kate59 dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 17/05/2012, 22h38
  2. [SP-2007] Message erreur avec fonction "Modifier dans Microsoft Office Excel"
    Par Xorbane dans le forum SharePoint
    Réponses: 4
    Dernier message: 18/02/2011, 09h43
  3. Message erreur avec Hibernate
    Par wassimbik dans le forum Hibernate
    Réponses: 1
    Dernier message: 28/07/2010, 12h40
  4. Probleme message erreur avec Indy - Email
    Par Chyokyka dans le forum Débuter
    Réponses: 4
    Dernier message: 24/03/2008, 18h35
  5. message erreur avec fonction diffdate
    Par Daniel MOREAU dans le forum Access
    Réponses: 1
    Dernier message: 01/09/2006, 16h28

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