Bonsoir,

Depuis deux semaines, je galère pour récupérer des données d'une BD MySQL pour les afficher dans un TableView. J'ai adapté le code en exemple dans la FAQ mais sans succès. voici le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import sys
 
import mysql.connector
 
from PySide import QtGui, QtCore
from PySide.QtCore import SIGNAL
from PySide.QtGui import QMainWindow, QDialog, QApplication, QStandardItem,\
    QTableView
from PySide.QtSql import QSqlTableModel, QSqlQueryModel
 
from UIfenprincipale import Ui_fenPrincipale
 
 
class FenPrincipale(QMainWindow, Ui_fenPrincipale):
    '''
    '''
 
 
    def __init__(self, parent=None):
        super(FenPrincipale, self).__init__(parent)
        self.setupUi(self)
 
        db=mysql.connector.connect(user = 'xxx', password = 'yyy', database = 'essai')
 
 
        model = QSqlTableModel()
        model.setTable('essai')
        model.setEditStrategy(QSqlTableModel.OnManualSubmit)
        model.select()
        model.setHeaderData(0, QtCore.Qt.Horizontal, "Index")
        model.setHeaderData(1, QtCore.Qt.Horizontal, "Nom")
        model.setHeaderData(2, QtCore.Qt.Horizontal, "Obs")
 
 
        self.tableEssai.setModel(model)
 
        db.close()     
 
if __name__ == '__main__':
 
    app = QApplication(sys.argv)
    frame = FenPrincipale()
    frame.show()
    app.exec_()
J'ai peur que cela vienne du mode de connexion à la BD : galérant à compiler le driver MySQL sous QT (je ne trouve aucune explication satisfaisante : j’obtiens à chaque fois une erreur !), j'ai préféré me connecter à la BD via le connecteur python distribué avec MySQL.

Si quelqu'un pouvait me donner un début de solution je lui en serai reconnaissant ! Merci.