Comment permettre à l'utilisateur de donner un nom à la table créé ?

Résolu/Fermé
muramasakatana Messages postés 36 Date d'inscription samedi 12 novembre 2016 Statut Membre Dernière intervention 7 juillet 2019 - 15 mai 2019 à 18:17
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 16 mai 2019 à 16:26
bonjour...
j'ai commencé comme ça.


import sqlite3

conn = sqlite3.connect('bdaremplir.sqlite')
cur = conn.cursor()

# à ameliorer : plus de précision (éviter : chiffres et éspaces)
tname = input('enter the name of your table (one word pls) : ')
if len(tname) > 1 :
tname = "bdpardefault"

cur.execute('DROP TABLE IF EXISTS ?' ,tname)

cur.execute('CREATE TABLE ? (org TEXT, count INTEGER)',tname)


et apparemment la "syntaxe error" provient de ce "?" dans mes cur.execute.

y'a t-il vraiment moyen de faire ça ? parce que j'ai cherché sur google mais...
bref si quelqu'un sait, ce serait vraiment cool. merci.

1 réponse

yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476
Modifié le 15 mai 2019 à 20:36
bonjour,
merci d'utiliser les balises de code pour poster du code, surtout python.
je suis surpris par ton test
len(tname) > 1
: dans quel but?
qu'as-tu cherché sur google? moi je chercherais comment concaténer des chaines de caractères?
es-tu certain de pouvoir utiliser les points d'interrogations pour autre chose que des valeurs?
0
muramasakatana Messages postés 36 Date d'inscription samedi 12 novembre 2016 Statut Membre Dernière intervention 7 juillet 2019
16 mai 2019 à 00:17
len(tname) > 1
c'est juste pour s'assurer que c'est bien" un seul mots" qui est entré (j'ai fais ça vite fait).
pour le point d'interrogation, j'ai vu ça chez quelqu'un d'autre... je pensais que ça marcherai...
mais quand j'ai cherché sur google "créer une table sql avec python", à aucun moment j'ai vu un moyen de permettre à l'utilisateur de lui donner un nom à cette table.
0
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 1 476 > muramasakatana Messages postés 36 Date d'inscription samedi 12 novembre 2016 Statut Membre Dernière intervention 7 juillet 2019
16 mai 2019 à 16:26
as-tu affiché len(tname), pour vérifier si cela fait ce que tu imagines?
pourquoi ne crées-tu pas une variable qui contient le texte complet de la commande que tu veux exécuter?
0