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

Résolu
muramasakatana Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 583
 
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   Statut Membre Dernière intervention  
 
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 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 583 > muramasakatana Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
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