Bonjour,

je vous expose la situation :

J'ai une listbox dans laquelle figure un id_client, un Nom_client et un Prenom_client :
12 DUPONT Pierre
13 DURAND Marie
14 SKIVOL Yvan ...

Je récupère les infos d'une ligne de la liste sous forme de tuple avec curselection().
Je voudrait ensuite passer en paramètre à une clause SQL mon id_client (12 par exemple) pour aller interroger une base postgresql.

Voici un extrait du 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
 
def valider (event=None):
    index = ListeClient.curselection()
    if (index == ()):
        return
    index = ListeClient.get(index)
    idClient=index[0]
 
    # Construction de la chaine de connection
    conn = psycopg2.connect(**paramConnect) #Je recupére les données présentes dans un dictionnaire
    cursor = conn.cursor()
    #récupèere l'enregistrement
    cursor.execute("SELECT titre_client,nom_client,prenom_client,adresse1_client,adresse2_client,cp_client,ville_client,tel_client,port_client,mail_client,montantdevis_client FROM client WHERE id_client = ?', idClient)
    ligne=cursor.fetchone()
Il me retourne l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
  File "x-wingide-python-shell://112474792/2", line 47, in valider
psycopg2.ProgrammingError: ERREUR:  erreur de syntaxe à la fin de l'entrée
LINE 1: ...l_client,montantdevis_client FROM client WHERE id_client = ?
En fait, je voudrais concaténer mon idClient à la clause INSERT ...WHERE ...

Un grand merci à vous...

Cordialement.

JMV