Récupérer la valeur d'un enregistrement sqlite dans un textbox en PyQt5

Résolu
rasielblas Messages postés 143 Statut Membre -  
rasielblas Messages postés 143 Statut Membre -
Bonjour,

J'aimerais savoir comment récupérer un enregistrement d'une base de donnée sqlite dans un combobox:

Voici mon code python:

from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
import sys
import sqlite3
class Fenetre(QMainWindow):
        def __init__(self):
            super(Fenetre, self).__init__()
            self.setWindowTitle("Mon interface")
            self.setMinimumSize(100,200)
            self.setWindowIcon(QIcon("icon.png"))

            #Création du combobox:
            self.combobox=QComboBox(self)
            #self.combobox.addItem(self.requete())
            self.combobox.move(40,40)
            self.combobox.addItem("enregistrement à récupérer")



app=QApplication.instance()
if not app:
    app=QApplication(sys.argv)
fenetre=Fenetre()
fenetre.show()
app.exec_()



Est voici ma base:

    def requete(self):
            xcon = sqlite3.connect("mabase.db")
            xcur = xcon.cursor()
            xcur.execute("create table if not exists user(id integer,nom string(25))")
            xcur.execute("insert into user(id,nom) values(1,"Julien")")
            xcur.execute("insert into user(id,nom) values(2,"José")")
            xcur.execute("insert into user(id,nom) values(3,"Francois")")
            print(xcur.fetchall())
            liste=xcur.fetchall()
            xcon.commit()
            xcon.close()



Merci de votre aide.

3 réponses

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, il me semble qu'il faut commencer par faire un SELECT pour récupérer la donnée.
    1
  2. rasielblas Messages postés 143 Statut Membre 9
     
    Merci de m'avoir répondu, bon on supposant que je fais un select:

    def requete(self):
                xcon = sqlite3.connect("mabase.db")
                xcur = xcon.cursor()
                xcur.execute("select * from user")
                print(xcur.fetchall())
                liste=xcur.fetchall()
                xcon.commit()
                xcon.close()
    
    


    Alors comment récupérer le résultat du selection dans le combobox?
    ce que je veux c'est du genre:

    self.combobox.addItem("résultat du selection")
    
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      que veux-tu précisément récupérer?
      0
  3. rasielblas Messages postés 143 Statut Membre 9
     
    Je veux récupérer tous les noms du table user dans le combobox comme montre l'image ci-après:
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      suggestion:
      xcon = sqlite3.connect("mabase.db")
      xcur = xcon.cursor()
      xcur.execute("select nom from user")
      for ligne in xcur:
          self.combobox.addItem(ligne[0])
      0
      1. rasielblas Messages postés 143 Statut Membre 9 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Ça marche, merci beaucoup ;-)
        1