Bonjour à tous,
Je débute avec PyQt et je suis également nouveau sur le forum.
J'ai un problème pour afficher le résultat d'un select dans un QTableView
L'exemple que j'utilise ici est tiré de la doc
Je précise deux choses :
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 # Requête SQL ultra-simple SQL = "select nprospect,cnom from prospect where nprospect=6631" import sys def connection(): db = QtSql.QSqlDatabase.addDatabase('QODBC') connstr = "Driver={Microsoft ODBC for Oracle};CONNECTSTRING=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=...)(PORT=1521)))(CONNECT_DATA=(SID=dbtest)));Uid=....;Pwd=p....cvqtest;" db.setDatabaseName(connstr) if not db.open(): QtGui.QMessageBox.critical(None, u'Ne peut ouvrir la database', u"J'ai rencontré un problème en essayant de me connecter à la base de données\n %s" % db.lastError().text(), QtGui.QMessageBox.Cancel) return False print db.tables() # La connection est valide ! Preuve par la liste des tables return True if __name__ == '__main__': app = QtGui.QApplication(sys.argv) if connection(): model = QtSql.QSqlQueryModel() model.setQuery(SQL) view = QtGui.QTableView() view.setModel(model) view.setWindowTitle('Tester QtSql.QSqlQueryModel()') view.show()
- La requête est correcte
- Ma connexion fonctionne car j'obtiens la liste des tables
Pourtant la fenêtre ne me montre rien du tout et semble partir en boucle.
Quelqu'un a-t-il déjà rencontré ce problème ?
Merci d'avance pour vos réponses
Partager