es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo cargar datos desde una base de datos SQLite a una tableview utilizando el módulo sqlite3

Quiero conectarme a la base de datos y cargar datos desde una tabla utilizando la implementación Modelo Vista Controlador (MVC). Hasta ahora, todos los ejemplos se conectan a la base de datos utilizando la clase QSqlDatabase de PyQt5 y la tabla se crea mediante el siguiente código:


model = QSqlTableModel()
model.setTable("nombre_de_la_tabla")
table_view = QTableView()
table_view.setModel(model)
model.select()
.....

Creo que el objeto model puede seleccionar de la tabla porque su conexión a la base de datos utiliza QSqlDatabase.
Quiero hacer lo mismo, pero conectarme a la base de datos utilizando el módulo sqlite3.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para conectarse a una base de datos utilizando el módulo sqlite3, primero debes importarlo:

    import sqlite3
    

    A continuación, debes establecer una conexión con tu base de datos:

    connection = sqlite3.connect('your_database.db')
    

    Después de establecer la conexión, puedes crear un objeto de cursor:

    cursor = connection.cursor()
    

    Ahora puedes usar este objeto de cursor para ejecutar declaraciones SQL y recuperar datos de la base de datos. Para recuperar datos, puedes usar el siguiente código:

    cursor.execute('SELECT * FROM table_name')
    data = cursor.fetchall()
    

    Esto recuperará todos los datos de la tabla especificada y los almacenará en la variable data. Ahora puedes usar estos datos para crear un objeto QStandardItemModel y establecerlo como modelo para tu QTableView, de la siguiente manera:

    from PyQt5.QtGui import QStandardItemModel, QStandardItem
    from PyQt5.QtWidgets import QTableView
    
    model = QStandardItemModel()
    for row in data:
        model.appendRow([QStandardItem(str(item)) for item in row])
    
    table_view = QTableView()
    table_view.setModel(model)
    

    Esto configura un objeto QStandardItemModel, recorre los datos recuperados de la base de datos y los agrega como filas al modelo. Finalmente, establece el modelo como modelo para un objeto QTableView.

Comments are closed.