Résolue

Problème de requête SQL pour récupérer des informations client

# Bases de données # Python # Gestion des erreurs

Bonjour DOCSTRING,
SVP J'ai une base de donées SQL (mydb.db) dans laquelle il y'a un tableau (info_administrative_clients) qui contient les noms des clients et les informations les concernant (Nom, Sigle, Pays, ... , Nbre Ets hors pays). je souhaite sélectionner une ligne du tableau correspondant au nom d'un client des clients et récupérer toutes ses informations (Nom, Sigle, Pays, ... , Nbre Ets hors pays) qui se trouvent dans le tableau.
J'ai essayé ce code mais ça ne marche pas.

import sqlite3
def trouver_ligne(base_donnee, nom_tableau, nom_colonne, valeur_recherche):
    try:
        connexion = sqlite3.connect(base_donnee)
        cursor = connexion.cursor()
        # construire une requête SQL
        requete = f"SELECT * FROM {nom_tableau} WHERE {nom_colonne} = ?"
        cursor.execute(requete, (valeur_recherche,))
        # sélectionner la ligne
        ligne = cursor.fetchone()
        return ligne
    except sqlite3.Error as e:
        print(f"Une erreur est survenue: {e}")
        return None
    finally:
        # fermer la connexion
        connexion.close()
# désignation des variables
base_donnee = "D:\projets_app\Essai_VSC\mydb.db"
nom_tableau = "info_administrative_clients"
nom_colonne = "Nom"
valeur_recherche = "AUDIT CONTRÔLE EXPERTISE S.A"
ligne_trouve = trouver_ligne(base_donnee, nom_tableau, nom_colonne, valeur_recherche)
# vérifier si une ligne a été trouvé
if ligne_trouve:
    print("Valeurs de la ligne sélectionnée:")
    for index, valeur in enumerate(ligne_trouve):
        print(f"Colonne {index + 1}: {valeur}")
else:
    print(f"Aucune ligne trouvée")

Ca me renvoie:
"aucune ligne trouvée"
alors que le client existe dans le tableau

Gabriel Trouvé

Mentor

Bonsoir,

Alors quelques pistes :
Pour être sûr que le chemin soit bien interprété. Mais normalement, si le script n'a pas re créé de base ça devrait être bon.

base_donnee = r"D:\projets_app\Essai_VSC\mydb.db"

Pour l'orthographe de la table et la conne il n'y a pas du tout du tout d'erreur ?

Voir aussi s'il y a des accents etc...
Essaie de lister pour bien voir l'orthographe :

import sqlite3

connexion = sqlite3.connect(r"D:\projets_app\Essai_VSC\mydb.db")
cursor = connexion.cursor()

cursor.execute("SELECT * FROM info_administrative_clients;")
all_rows = cursor.fetchall()

for row in all_rows:
    print(row)

connexion.close()

Après pour t'assurer de la structure de la table tu peux utiliser DB Browser for SQLite.

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.