您的位置:首页 > 编程语言 > Qt开发

PyQt 连接MySql数据库,C++代码转Python3代码

2016-12-19 17:18 501 查看
官方文档是C++的代码,转成python3代码后.
直接上代码
from PyQt5.QtSql import QSqlDatabase, QSqlQuery
from PyQt5.QtSql import *

class DbDao(QObject):
# 初始化并连接数据库
def __init__(self):
QObject.__init__(self)
self.db = QSqlDatabase.addDatabase("QMYSQL");
self.db.setHostName("*.*.*.*");
self.db.setDatabaseName("*");
self.db.setUserName("*");
self.db.setPassword("*");
ok = self.db.open()
print('数据库连接:' + str(ok))

# 判断是否打开
def getIsOpen(self):
return self.db.isOpen

# 查询
def query(self):
query = QSqlQuery(self.db)
query.exec("select * from chat_room")
while (query.next()):
print(query.value(0))
print(query.value(1))
print(query.value(2))

# 插入
def insert(self):
query = QSqlQuery(self.db)
query.prepare("insert into chat_room (room_id,room_title,need_password,password,ownner_id)"
"values (?,?,?,?,?)")
query.addBindValue(1004)
query.addBindValue("聊天室3")
query.addBindValue(1)
query.addBindValue(000000)
query.addBindValue(111)
result =query.exec_()
print(result)

# query = QSqlQuery(self.db)
#  result=query.exec_("insert into chat_room (room_id,room_title,need_password,password,ownner_id)"
#                     """values (1001,'聊天室3',1,0000,11)""");
# print(result)
# 更新
def update(self):
query = QSqlQuery(self.db)
# query.prepare("update chat_room set room_title ="+"聊天"+" where room_id = "+str(1004))
result =query.exec_("""update chat_room set room_title ="聊天" where room_id = 1004""")
# result = query.exec_()
print(result)

# 删除
def delete(self):
query = QSqlQuery(self.db)
query.prepare("delete from chat_room where room_id ="+str(1003))
result =query.exec_()
print(result)
调用:
dbDao=DbDao()
if dbDao.getIsOpen():
# dbDao.openConn()
# dbDao.insert()
# dbDao.query()
# dbDao.delete()
dbDao.update()

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: