passage paramétre requete sql
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:
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.