PyQt 连接MySql数据库,C++代码转Python3代码
来源:互联网 发布:windows pip install 编辑:程序博客网 时间:2024/06/06 17:36
官方文档是C++的代码,转成python3代码后.
直接上代码
from PyQt5.QtSql import QSqlDatabase, QSqlQueryfrom 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()
0 0