Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql QSql连接并从数据库读取示例?-驱动程序未加载_Mysql_Sql_Database_Pyqt_Qtsql - Fatal编程技术网

Mysql QSql连接并从数据库读取示例?-驱动程序未加载

Mysql QSql连接并从数据库读取示例?-驱动程序未加载,mysql,sql,database,pyqt,qtsql,Mysql,Sql,Database,Pyqt,Qtsql,我最近开始发现需要从uu mysql模块更改为PyQt的QSql,但不知道从哪里开始。我现在只想从数据库中读取并打印结果。这是我得到的最远的结果,但我一直得到一个“Driver not loaded Driver not loaded”(驱动程序未加载)错误,该错误是从query.exec函数返回的 请帮忙 db = QSqlDatabase.addDatabase("QMYSQL") db.setHostName ( db_host ) db.setUserName ( db_user )

我最近开始发现需要从uu mysql模块更改为PyQt的QSql,但不知道从哪里开始。我现在只想从数据库中读取并打印结果。这是我得到的最远的结果,但我一直得到一个“Driver not loaded Driver not loaded”(驱动程序未加载)错误,该错误是从query.exec函数返回的

请帮忙

db = QSqlDatabase.addDatabase("QMYSQL")

db.setHostName ( db_host )
db.setUserName ( db_user )
db.setPassword ( db_passwd )
db.setDatabaseName ( db_db )
db.setPort ( db_port )

db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1")
db.open()

defaultDB = QSqlDatabase.database()
query = QSqlQuery("SELECT * FROM Users")

qe = query.exec_()
print "query exec" , query.exec_()
if not qe:              # if error
    print QSqlQuery.lastError( query ).text()
else:                   # else display returned values
    while query.next():
        print "query value" , query.value(0).toString()


db.close()

啊啊哈!!!这总是发生!一天坐在一个问题上,最后决定发布并询问它。发布问题30分钟后,你会找到解决方案

对那些感兴趣的人来说,我的问题和你一样

基本上,您必须在执行sql代码之前创建QApplication实例。。。i、 e

# this little monkey has to be here
app = QApplication(sys.argv)


# rest of the code
db = QSqlDatabase.addDatabase("QMYSQL")

db.setHostName ( db_host )
db.setUserName ( db_user )
db.setPassword ( db_passwd )
db.setDatabaseName ( db_db )
db.setPort ( db_port )

db.setConnectOptions("CLIENT_SSL=1;CLIENT_IGNORE_SPACE=1")
db.open()

defaultDB = QSqlDatabase.database()
query = QSqlQuery("SELECT * FROM Users")

qe = query.exec_()
print "query exec" , query.exec_()
if not qe:              # if error
    print QSqlQuery.lastError( query ).text()
else:                   # else display returned values
    while query.next():
        print "query value" , query.value(0).toString()


db.close()