2016-07-17 1 views
0

Я пытаюсь подключиться к базе данных Mysql через PyQt.PyQT5 + QMYSQL. Приложение перестает работать во время выполнения запроса

Вот мой код:

from PyQt5.QtSql import QSqlDatabase, QSqlQuery, QSqlTableModel 
from PyQt5.QtWidgets import QTableView, QApplication 
import sys 

app = QApplication(sys.argv) 

db = QSqlDatabase.addDatabase("QMYSQL","mydb") 
db.setHostName("localhost") 
db.setDatabaseName("test") 
db.setUserName("***") 
db.setPassword("*******") 
ok = db.open() 
if not ok: print(db.lastError().text()) 
else: print("connected") 

query = QSqlQuery(db); 
ok2 = query.exec_("SELECT * FROM table_one"); 
if not ok2: print(query.lastError().text()) 

Когда я пытаюсь запустить этот код, Python перестает работать и дает ошибку окна.

enter image description here

Проблема заключается в

query.exec_("SELECT * FROM table_one"); 

заявление 100%. Может ли кто-нибудь помочь мне разобраться, что случилось с моим кодом? P.S. Windows 7 x64, Python-3.5.2, PyQT-5.6. Ошибка возникает с драйвером QMYSQL, когда я пытаюсь запустить SQLite-примеры - все работает нормально.

ответ

0

Кажется, я нашел решение, которое работало для меня:

  1. деинсталлировать PyQt-5,6
  2. установить PyQt-5,7 через пип
  3. Помещенный libmysql.dll из C: \ Program Files \ MySQL \ MySQL Server 5.7 \ lib в папку с моим sssript, чтобы избавиться от ошибки «драйвер не загружен».
Смежные вопросы