问题描述
出于某些原因,我从sqlit3迁移到MysqL。我正在使用python3.7 64位和Windows 10 Qtsql.QsqlDatabase。我正在尝试下面的代码,但显示未加载驱动程序未加载驱动程序我缺少什么。我有pyqt5。我是MysqL的新手,如何在python 64位中使用MysqL。
print(list(map(str,QsqlDatabase.drivers())))
['QsqlITE','QODBC','QODBC3','QPsql','QPsql7']
下面是我的示例代码:
from PyQt5 import QtCore,QtGui,QtWidgets,Qtsql
from PyQt5.Qtsql import QsqlDatabase,QsqlQuery,QsqlTableModel
import MysqL.connector
import sys
queries = (
"""
CREATE TABLE IF NOT EXISTS company(
Company_Name TEXT UNIQUE,Address TEXT,phone TEXT
)""","""
CREATE TABLE IF NOT EXISTS employees(
employee TEXT,"""
INSERT or IGnorE into company
(Company_Name,Address,phone) VALUES ("New Company","Location","123"
)"""
)
def create_connection():
db = Qtsql.QsqlDatabase.addDatabase("QMysqL")
db.setHostName("localhost")
db.setDatabaseName("data_base")
db.setUserName("user") # new user and tried with existing also
db.setPassword("password") # new password and tried with existing also
if not db.open():
print(db.lastError().text())
return False
return True
class MainWindow(QtWidgets.QMainWindow):
def __init__(self,parent=None):
super().__init__(parent)
print("OKAY")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
if not create_connection():
sys.exit(-1)
for query_str in queries:
query = Qtsql.QsqlQuery(query_str)
if not query.exec_():
print(query.lastError().text())
w = MainWindow()
#w.show()
sys.exit(app.exec_())
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)