Bonjour,

pour les besoins d’un programme fait en python, je voudrais pouvoir faire une fonction générique pour exécuter mes requêtes SQL.

Cette fonction doit être appelé avec le nom de la requête stocker dans une variable ainsi que de 1 à x paramètres.

mais voila je bloque sur la création des requêtes pour tenir compte des paramètres supplémentaires.

Pour que cela soit plus clair voici un bout de code que j’essaie de créer :


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
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
 
import cx_Oracle as cx
import datetime
import tkinter as tk
from tkinter import ttk
from tkinter.messagebox import showinfo
 
 
requeteUser = """ select user
                    from users
                    where  id=1"""
 
 
def connexion(requeteUser):
 
    """
        fonction qui permet de réaliser la connexion avec la base oracle
    """
    exo=param1
    conn = cx.connect('user', 'user', 'test')
    curs = conn.cursor()
 
 
    #print (curs.description)
    curs.execute(requeteCommande)
    result = curs.fetchmany()
    for row in curs:
        print(row)
    # fermeture de la connexion a la base de donnée
    conn.close()
    return result
 
 
if __name__ == "__main__":
    """ lancement du programme si utilisation de ce fichier
    """
    print(" programme en cours de dev!!!!")
    resultat = connexion(requeteUser)
    print("affichage resultat")
    #print(resultat) 
 
    # create root window
    root = tk.Tk()
    root.title('test)
    root.geometry('800x600')
 
    # columns
    columns = ('#1')
 
    # create a treeview
    tree = ttk.Treeview(root, columns = columns, show = 'headings', padding='10')
    tree.heading('#1', text='user', anchor='w')
    commande = []
    for result in resultat:
        tree.insert('',tk.END,values=result)
    # create treeview user
 
 
 
    # place the Treeview widget on the root window
    tree.grid(row=0, column=0, sticky='nsew') 
    # add a scrollbar
    scrollbar = ttk.Scrollbar(root, orient=tk.VERTICAL, command=tree.yview)
    tree.configure(yscrollcommand=scrollbar.set)
    scrollbar.grid(row=0, column=1, sticky='ns')
 
 
    # run the app
    root.mainloop()

dans ce code je voudrais par exemple pouvoir passer l’id en paramètre à ma fonction connexion, mais comment je peux la matérialiser dans la variable "requeteUSer".

merci aux pros python qui pourront éclairer ma lanterne.