pyside6 云数据库与本地数据库sqlite3同步研究(1)

【pyside6 】数据库同步研究(1)
使用pyside6制作一个股票数据库处理软件。登录界面已经写好。如下图所示:
在这里插入图片描述

云数据库:MongoDB atlas:
优势:使用Navicat即可连接。如下图所示:
在这里插入图片描述
劣势:登录较慢,需要等待。

本地数据库:sqlite3
优势:速度快
劣势:不能云操作
结合云数据库与本地数据库的优劣势,进行互补。
在这里插入图片描述
MongoDB atlas已经实现增删改查的功能。MongoDB与sqlite3是双向数据交换,view与sqlite3也是双向数据交换.

登录时:view->mongdb->sqlite3。sign_in函数是mongdb操作。jump是跳转操作。db_save是保存到sqlite3中。
代码如下:

    def loginId(self):
        '''
        登陆
        :return:
        '''
        user_id = self.ui.edt_login_id.text()
        #print('qt5登录src 输入user_id->', user_id)
        if not user_id:
            return QMessageBox.warning(self, "错误", "请输入id,例如:e6e72588dbfe4XXXXXXXXb1960c40f"),'帐号user_id:{}登录失败,帐号为空'.format(user_id)
        flag =sign_in(user_id)
        if not flag[0]:
            return QMessageBox.warning(self, "错误", "请输入id,例如:e6e72588dbfe4XXXXXXXXb1960c40f"),'帐号user_id:{}登录失败,数据库没注册'.format(user_id),flag
        if flag[0]:
            print('登录src->,user_info=',flag[2][2])
            # ________________v0.0.2_______________________>20230902update
            self.flag_sign_in = flag
            self.user_info=self.flag_sign_in[2][2]
            self.user_id=user_id

            self.jump()#跳转,数据保存
    def jump(self):
        # ________________v0.0.1_______________________>
        # from pyqt5_demo.desktop import MyWidget
        # self.widget = MyWidget()
        # self.widget.resize(800, 600)
        # self.widget.show()
        # self.close()
        # ________________v0.0.2_______________________>
        #self.user_info = flag[2][2]  # {'_id': '6384cc423bd1c86122832151', 'mail_': 'ltsjiim@126.com', 'uuid_id': '5c3aaff7364446b8862119a617450650', 'id_time': '2022-11-28 22:57:04.945858', 'note': '', 'version': '0.0.1', 'today_num': 25, 'total_num': 567, 'last_signin_time': '2023-08-31 20:18:21.416992', 'vip_type': 'SVIP'}
        if self.user_info['note'] == '用户私自修改数据库,警告':
            QMessageBox.warning(self, "错误", '帐号user_id:{},请不要修改数据库'.format(self.user_id))
            self.close()
            return False, '用户私自修改数据库', self.close()
        from pyqt5_demo.menu.bar_v_0_0_1 import GUI
        self.top_ui = GUI({'uuid': self.user_id}, self.user_info)
        self.top_ui.show()
        self.close()
        self.db_save()
        return True, '帐号user_id:{}登录成功,欢迎使用'.format(self.user_id),self.flag_sign_in
    def db_save(self):
        # print(self.user_info)
        import pandas as pd
        df=pd.DataFrame(self.user_info, index=[1]).reset_index(drop=True)

        from resource_db.user_data.user_sqlite import save_df
        flag=save_df(df,style='replace')

双向操作时:view->sqlite3、sqlite3->view
:mongodb->sqlite3、sqlite3->mongodb
其中view读取sqlite3简单,已经实现。下面3个功能等待实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值