SQLite avec python, insertion.
Teoman
-
Phil_1857 Messages postés 1883 Date d'inscription Statut Membre Dernière intervention -
Phil_1857 Messages postés 1883 Date d'inscription Statut Membre Dernière intervention -
Bonjour bonsoir,
Je suis un étudiant donc plutôt débutant en informatique. J'ai un projet à rendre pour la semaine prochaine est j'ai déjà un petit soucis avec mon code.
Voici mon envie et la réalité :
je veux pouvoir choisir la colonne ( 0,1,2 dans cette exemple ) pour pouvoir chercher des informations sur SQLite.
avec row, sauf que quand je lance mon code. J'ai "False" qui s'affiche et non les résultats du SQLite.
( c'est mon brouillon mais si elle ne fonctionne pas je ne pourrai pas l'intégrer dans mon projet ) :/ Merci de votre aide
Je suis un étudiant donc plutôt débutant en informatique. J'ai un projet à rendre pour la semaine prochaine est j'ai déjà un petit soucis avec mon code.
import sqlite3
conn = sqlite3.connect('brouillon.db')
cur = conn.cursor()
choixPossibles = ['0','1','2']
##annee = '0'
##sujet = '1'
##laureat = '2'
choixPossibles = input('Votre choix : ').upper()
A = "SELECT * FROM nobel "
result = cur.execute(A)
for row in result:
print(row [choixPossibles] )
Voici mon envie et la réalité :
je veux pouvoir choisir la colonne ( 0,1,2 dans cette exemple ) pour pouvoir chercher des informations sur SQLite.
avec row, sauf que quand je lance mon code. J'ai "False" qui s'affiche et non les résultats du SQLite.
( c'est mon brouillon mais si elle ne fonctionne pas je ne pourrai pas l'intégrer dans mon projet ) :/ Merci de votre aide
9 réponses
-
Bonjour,
Il faudrait déplacer cet appel dans le forum Python
Ceci dit, choixPossibles est une chaine de caractères et non un entier, donc peut-on faire
row[choixPossibles] ? -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
pourquoi ne simplifies-tu pas ton programme pour tester?print(row[0])
il est préférable, également, de partager un programme que nous pouvons tester, donc avec la création et le remplissage de la table. -
-
-
peux-tu partager du texte, et pas des images?
merci d'utiliser les balises de code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code -
-
-
Pas de photos, ce n'est pas très clair ni très pratique a copier/coller
L'indentation étant importante en Python, merci de copier/coller ici ton code complet avec les balises de code
mode d'emploi:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Visuellement, ça doit ressembler à ceci (avec la coloration syntaxique) :
def test(): print('test') test()
et comme je te le disais row[0] fonctionne mais pas row[choixPossibles] car choixPossibles est une string et pas un integer (input rend une string, il faut ensuite la convertir, par contre .upper() est inutile) -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
import sqlite3 conn = sqlite3.connect('brouillon.db') cur = conn.cursor() choixPossibles = ['0','1','2'] ##annee = '0' ##sujet = '1' ##laureat = '2' choixPossibles = input('Votre choix : ').upper() A = "SELECT * FROM nobel " result = cur.execute(A) for row in result: print(row == [choixPossibles] )
en espérant que ca marche ! -
print(row == [choixPossibles] ) : bizarre
et row[choixPossibles] ne marche pas car choixPossibles est une string ! -
-
oui mais ca marche pas : pour la 4eme fois choixPossibles est une string,
il faut d'abord la convertir en integer :
choixPossibles =int(input('Votre choix : '))
et
print(row[choixPossibles ])
fonctionnera -
sachant que ceci est inutile:
choixPossibles = ['0','1','2']
il faudrait écrire:
choixPossibles =int(input('Votre choix (1,2 ou 3) : '))
pour indiquer les choix possibles à l'utilisateur
Ou bien, encore plus clair (avec contrôle de saisie):menu = ''' 0 Année 1 Sujet 2 Lauréat > ''' choix = '' while(not choix in [0,1,2]): os.system('cls' if os.name=='nt' else 'clear') print('\n' + '''Choisissez une option'''.center(50,'*')) choix = int(input(menu))

