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

Résolu
muramasakatana Messages postés 39 Statut Membre -  
yg_be Messages postés 24281 Statut Contributeur -
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.
A voir également:

1 réponse

yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 
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 39 Statut Membre
 
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 24281 Statut Contributeur 1 584 > muramasakatana Messages postés 39 Statut Membre
 
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