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

官方文档是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()











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值