CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourHigh-Tech
    • Actus High-Tech
    • Hardware
    • Smartphones
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • High-Tech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Requête d'ajout Python avec SQLite

MarshallBM3
MarshallBM3
Niveau 15
20 novembre 2023 à 08:14:17

Bonjour à tous,
J’aimerais créer une application Python avec CustomTkinter et SQLite. Etant totalement nouveau je suis des tutos ( :hap: ) mais là, j’ai vraiment besoin d’aide.

Le code fonctionne dans la mesure où print renvoie la bonne instruction SQL. Le problème est qu’il a été long à écrire, qu’il prend beaucoup de place et qu’il est embêtant à lire. De plus, à ce stade il n’y a pas encore de relation entre les tables.

J’ai auparavant créé 20 cases d’entrées pour des noms de champs, et une autre pour le nom de table. Ceci afin de créer des tables dans une base de données sans avoir à écrire l’instruction SQL d’ajout à chaque fois, et en fonction du nombre de champs voulu.

On a donc une case d’entrée pour le nom de champ et une combobox pour le type de données.
La requête d’ajout doit s’adapter au nombre de champs voulu, c’est-à-dire au nombre de cases d’entrées remplies.
https://image.noelshack.com/fichiers/2023/47/1/1700464349-testajout.png

Question : n’y-a-t-il pas plus court ?

Voici le code :

  1. --SYNTAXE

vir=", "
fin_requete=")"

  1. --CHAMPS

def inserer_table():
connectiondb=sqlite3.connect("basetest.db")
debut_requete="CREATE TABLE " + caseentreeajouttable.get()
colonne_1=" (" + caseentreeajoutCol1.get() + " " + cbox_col1.get()
colonne_2=caseentreeajoutCol2.get()+" "+cbox_col2.get()
colonne_3=caseentreeajoutCol3.get()+" "+cbox_col3.get()
colonne_4=caseentreeajoutCol4.get()+" "+cbox_col4.get()
colonne_5=caseentreeajoutCol5.get()+" "+cbox_col5.get()
colonne_6=caseentreeajoutCol6.get()+" "+cbox_col6.get()
colonne_7=caseentreeajoutCol7.get()+" "+cbox_col7.get()
colonne_8=caseentreeajoutCol8.get()+" "+cbox_col8.get()
colonne_9=caseentreeajoutCol9.get()+" "+cbox_col9.get()
colonne_10=caseentreeajoutCol10.get()+" "+cbox_col10.get()
colonne_11=caseentreeajoutCol11.get()+" "+cbox_col11.get()
colonne_12=caseentreeajoutCol12.get()+" "+cbox_col12.get()
colonne_13=caseentreeajoutCol13.get()+" "+cbox_col13.get()
colonne_14=caseentreeajoutCol14.get()+" "+cbox_col14.get()
colonne_15=caseentreeajoutCol15.get()+" "+cbox_col15.get()
colonne_16=caseentreeajoutCol16.get()+" "+cbox_col16.get()
colonne_17=caseentreeajoutCol17.get()+" "+cbox_col17.get()
colonne_18=caseentreeajoutCol18.get()+" "+cbox_col18.get()
colonne_19=caseentreeajoutCol19.get()+" "+cbox_col19.get()
colonne_20=caseentreeajoutCol20.get()+" "+cbox_col20.get()
requeteajouttable="salut"
if len(caseentreeajoutCol3.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ fin_requete
elif len(caseentreeajoutCol4.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir +colonne_3+ fin_requete
elif len(caseentreeajoutCol5.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir +colonne_3+vir + vir + colonne_4+ fin_requete
elif len(caseentreeajoutCol6.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir +colonne_3+vir +colonne_4+ vir + colonne_5+ fin_requete
elif len(caseentreeajoutCol7.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir +colonne_3+vir +colonne_4+ vir + colonne_5+vir + colonne_6+ fin_requete
elif len(caseentreeajoutCol8.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir +colonne_3+vir +colonne_4+ vir + colonne_5+ vir + colonne_6+vir + colonne_7+fin_requete
elif len(caseentreeajoutCol9.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir +colonne_3+vir +colonne_4+ vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8+fin_requete
elif len(caseentreeajoutCol10.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir +colonne_3+vir +colonne_4+ vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+ colonne_9 +vir +fin_requete
elif len(caseentreeajoutCol11.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10 +fin_requete
elif len(caseentreeajoutCol12.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10+ vir+colonne_11+vir+ +fin_requete
elif len(caseentreeajoutCol13.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10+ vir+colonne_11+vir+ colonne_12 +fin_requete
elif len(caseentreeajoutCol14.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10+ vir+colonne_11+ vir+colonne_12+ vir+colonne_13 +fin_requete
elif len(caseentreeajoutCol15.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10+ vir+colonne_11+ vir+colonne_12+vir+ colonne_13+ vir+colonne_14 +fin_requete
elif len(caseentreeajoutCol16.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10+vir+ colonne_11+ vir+colonne_12+ vir+colonne_13+ vir+colonne_14 + vir + colonne_15+fin_requete
elif len(caseentreeajoutCol17.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10+ vir+colonne_11+ vir+colonne_12+ vir+colonne_13+ vir+colonne_14+ vir+colonne_15+vir+colonne_16+fin_requete
elif len(caseentreeajoutCol18.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10+ vir+colonne_11+ vir+colonne_12+ vir+colonne_13+ vir+colonne_14 +vir+ colonne_15 +vir+colonne_16+vir+colonne_17+ fin_requete
elif len(caseentreeajoutCol19.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10+ vir+colonne_11+ vir+colonne_12+ vir+colonne_13+ vir+colonne_14 +vir+ colonne_15 +vir+colonne_16 +vir+ colonne_17+vir+ colonne_18+fin_requete
elif len(caseentreeajoutCol20.get()) == 0:
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10+vir+ colonne_11+ vir+colonne_12+ vir+colonne_13+ vir+colonne_14+vir+ colonne_15 +vir+colonne_16 +vir+ colonne_17+vir+colonne_18+vir+colonne_19+fin_requete
else :
requeteajouttable = debut_requete + colonne_1 + vir +colonne_2+ vir + colonne_3+vir +colonne_4+vir + colonne_5+ vir + colonne_6+vir + colonne_7+vir +colonne_8 + vir+colonne_9 +vir + colonne_10+vir+ colonne_11+ vir+colonne_12+ vir+colonne_13+ vir+colonne_14+vir+ colonne_15 +vir+colonne_16 +vir+ colonne_17+vir+colonne_18+vir+colonne_19+vir+colonne_20+fin_requete

print(requeteajouttable)
connectiondb.close()

statickzz
statickzz
Niveau 9
21 décembre 2023 à 23:37:06

Je ne vais pas feed

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment