Problème de requête SQL pour récupérer des informations client
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
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 !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte