Open In Editor添加前缀添加前缀icons新建放资源文件的目录原QtApp目录文件如下在这个目录下新建images文件夹将所有图标文件放到images文件夹里面添加图标文件Action新建打开数据库
SQL Server下建库和建表建立pyqt5数据库打开SQL Server,在对象资源管理器的数据库上点右键,选择新建数据库,创建pyqt5数据库添加描述添加描述在pyqt5数据库下建表和插入数据CREATE
frame由三个部分组成,一个排序GroupBox,一个数据过滤GroupBox,还有一个水平Spacer
departID INT NOT NULL REFERENCES departments(departID)
Qt窗体设计新建Qt项目MainWindow的windowTitle属性设为bkj5-2添加组件添加一个tableView添加资源添加Action注意除了actOpenDB和actQuit之外,其他Action 的enabled属性取消添加工具栏添加菜单项添加退出功能代码实现新建项目目录新建e:\baikejia\bkj5-2目录编译窗体文件和资源文件拷贝项目5-1里面的compile.bat到项目目录中,运行 输出类似于添加do_currentChanged槽函数import新模块添加函数在openTable函数中添加代码添加记录代码插入记录代码删除记录代码保存修改代码取消修改代码字段列表代码修改记录代码测试在数据库里面查令狐冲的数据修改把令狐冲的学院从华山派改为日月神教 ,专业从独孤九剑改为吸星大法改好后点保存回到数据库里面再查显示是显示的学院名和专业名,在后台数据库改的还是原来的students表字段列表测试我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖
数据的修改修改前数据修改数据将黄蓉的工资改为200,出生日期改为4月29日,备注也改一下点完后按一下取消键,数据行变回原样再改一次,这次按保存键查询数据库,发现数据被改了改一下黄蓉的性别和省份,按保存数据库里查查 ,改掉了tableview里数据的修改bug在右边的groupbox里的数据修改没问题,在左边的tableview里面修改就有问题弹出修改框,随便乱改,变成下面的样子按保存,去数据库里面查,发现已经把性别改成了不合理的数据 myDelegates.py,创建一个修改代码,添加自定义组件在opentable函数中插入红色框框中的代码运行程序,发现tableview里面的变化添加和插入按钮添加代码import模块插入红色框框部分代码测试添加功能查数据库 ,新记录出现了测试插入功能查查数据库,新纪录出现。 数据库语句没有排序字段,所以新纪录出现在最后我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!
在数据库里面查令狐冲的数据 2. 修改 3. 回到数据库里面再查 五、字段列表测试 ---- 一、Qt窗体设计 1. 新建项目目录 新建e:\baikejia\bkj5-2目录 2. 编译窗体文件和资源文件 拷贝项目5-1里面的compile.bat到项目目录中,运行。 3. 新建Eric6项目 4. 新建myMainWindow.py文件 输入以下内容 5. 在数据库里面查令狐冲的数据 2. 修改 把令狐冲的学院从华山派改为日月神教,专业从独孤九剑改为吸星大法 改好后点保存 3. 回到数据库里面再查 显示是显示的学院名和专业名,在后台数据库改的还是原来的students表 五、字段列表测试
工具按钮状态当前工具按钮状态打开数据库后,打开按钮不应该还能用,不能多次重复打开数据库。 而添加、插入、删除、涨工资、保存、修改等按钮应该变成有效状态,可以让人点击才对添加描述添加改变按钮状态的代码添加描述运行程序数据库打开后,添加、插入、删除、涨工资相关按钮能按了。 添加描述涨工资按钮涨工资代码添加描述添加描述去数据库查一下原始数据添加描述运行程序按涨工资键前添加描述按涨工资键后添加描述添加描述都涨了10%去数据库查一下现在的数据添加描述数据全改了代码分析添加描述删除 、保存、取消按钮删除按钮代码添加描述运行程序添加描述点完后,界面变成了这样添加描述去数据库里面查,发现数据还在添加描述为什么没删掉,没有submit添加保存和取消代码添加描述运行程序添加描述点删除后,发现这两个按钮还是不能按添加描述当前鼠标换别的数据行试试添加描述添加模型相关代码在 点一下全显示按钮添加描述数据回来了,取消删除成功去数据库里面查一查,数据还在添加描述测试保存按钮删除华筝的记录后,点保存按钮添加描述输出添加描述去数据库里查一查我正在参与2023腾讯技术创作特训营第三期有奖征文
创建Action 5. 添加工具栏 6. 创建菜单项 7. 关闭Action的实现 8. 调整布局 8.1 调整两个groupbox的布局 8.3 为窗体设置全局布局 二、代码拷贝和删除 1. 拷贝文件 5. 删代码 6. 现有代码 7. 运行文件 三、代码修改 1. 添加import模块 2. tableView显示 3. 测试tableView显示 4. 新建Qt项目 MainWindow的windowTitle属性设为bkj5-1 2. 拷贝文件 拷贝bkj4-3里面的appMain.py和myMainWindow.py到当前目录 5. 右边的groupBox里面内容的显示 添加红色框中代码 5.
新建Qt项目 MainWindow的windowTitle属性设为bkj5-12. 创建Action 如图创建Action 将其中的actRecFirst、actRecPrevious、actRecNext、actRecLast的enabled属性去掉 5. 添加工具栏6. 新建项目目录 新建e:\baikejia\bkj5-1目录 2. 编译窗体文件和资源文件 拷贝项目4-3里面的compile.bat到项目目录中,运行。 3. Eric6项目4. 拷贝文件 拷贝bkj4-3里面的appMain.py和myMainWindow.py到当前目录5. 右边的groupBox里面内容的显示 添加红色框中代码5.
@pyqtSlot(int),说明其参数为int类型运行程序换一种排序方式升序和降序两个单选按钮的信号与槽函数降序添加槽函数运行测试升序降序功能数据过滤添加槽函数测试过滤功能发现bug原因是这些按钮在数据库没打开时不应该能按 的相关属性也去掉保存,退出qt在Eric6工程目录下运行批处理文件或者将form文件拷贝到Eric6工程目录,然后在Eric6下编译form(因为改动没有涉及资源,所以直接在eric6下编译form就行了)运行程序现在数据库没打开时 ,排序和过滤相应按钮都没法按了添加代码,让数据库打开时,排序和过滤功能能用在opentable函数的最后加入如下代码运行程序打开数据库以后,排序和过滤按钮能用了我正在参与2023腾讯技术创作特训营第三期有奖征文
项目新建项目新建myMainWindow.py内容如下运行myMainWindow.py确保可以运行新建appMain.py运行appMain.py确保可以运行开启SQL Server远程连接参见4 PyQt5数据库开发 4.1 SQL Server 2008 R2如何开启数据库的远程连接配置ODBC数据源参见4 PyQt5数据库开发 4.2 配置SQL Server 2008 数据源(ODBC编程)控制面板上看SQL Server数据库名称叫MSSQLSERVER配置ODBC数据源pyqt5打开数据库表写打开数据库的槽函数在qt上的actOpenDB这个action上点击右键,选择转到槽选择triggered信号复制函数名在 (2)主机名写在tableView上显示数据库表的函数添加相应的import模块运行后发现表可以显示了虽然很难看代码分析self.DB是连接上的数据库tableModel是PyQt5预定义的数据模型,用来作为数据库中一个数据库表的数据模型 PyQt5使用Model/View结构来处理界面与数据。
一 实验目的更加熟练使用python创建项目和实现相关功能二 实验要求实现14周大作业系统的相关设计三 实验环境本实验在Windows微型计算机上运行,需安装SQL Server数据库。 (1)python (2)PyQt5 (3)Qt (4)Eric6 (5)numpy (6)scipy (7)matplotlib 四 实验内容及结果对工程师表进行查看和对数据进行增删查改,并实现数据过滤 (1)点击打开数据库:可以看到工程师表的所有数据(2)排序字段选择工资,并点击降序可以看到确实是按照工资降序排序(3)点击升序可以看到确实是按照工资升序排序(4)测试数据过滤功能,选择月薪过万可以看到展现出月薪过万的工程师数据 ,实现了数据过滤功能(5)点击月薪没过万可以看到确实是展现出月薪没过万的工程师,该按钮功能实现(6)点击工具栏的添加可以看到下面新增了一行,该按钮实现(7)可以在行内直接添加,或者在右侧添加可以看到该部分功能也可以全部实现
实际上是模拟实现html5的数据库功能,用键值对的方式。 !!!!!!废话不多说 ,代码 index.html的代码 !!!!js代码 !!!!效果图
5.数据库 数据库的操作 创建数据库create database mydb ; 查看创建数据库的语句show create database mydb ; 改变当前的数据库use mydb ; 删除数据库 ,先创建数据库,再获取可读可写的数据库对象,如果数据库存在,就直接打开,增删改用这个 SQLiteDatabase db = oh.getWritableDatabase(); //如果存储空间满了 数据库常用操作 用到数据库就要想到 数据库单例,保证只要一个实例 定义javaben对象 将Javaben对象存到数据库 从数据库读取 实例: CoolWeatherOpenHelper public 这种方式在产品的开发阶段确实可以用,但是当产品真正上线了之后就绝对不行了。想象以下 场景,比如你编写的某个应用已经成功上线,并且还拥有了不错的下载量。 使用这种方式来维护数据库的升级,不管版本怎样更新,都可以保证数据库的表结构是最新的,而且表中的数据也完全不会丢失了。
除了actOpenDB和actQuit之外,把其他的action全部改为不是enabled的,其他的可以根据自己需要来进行添加
myMainWindow.py文件打开数据库import新模块添加描述打开数据库函数添加描述打开表import新模块添加描述打开表函数添加描述行切换处理槽函数添加描述设置关联添加描述测试添加描述添加描述编辑记录功能寻找函数名
测试返回函数改一下欧阳锋的数据检查返回值修改myMainWindow.py的updateRecord函数测试修改成功数据库里检查一下,已经改了tableView上的双击寻找函数名qt上,tableView 选择转到槽选择双击记住函数名写函数代码测试插入记录功能在myMainWindow.py中添加插入函数在myDialogData.py中添加setInsertRecord函数在myMainWindow.py中添加返回的记录的处理测试露出刚刚插入的数据数据库里面查一查删除记录功能在 myMainWindow.py中添加删除函数测试删除功能将欧阳锋的数据删掉点击删除后,界面上显示已被删除去数据库查查有没有涨工资和测试SQL添加涨工资函数和降薪函数记一下原始工资点击涨工资按钮发现想涨500 ,结果跑了两次,涨了1000元一次按钮两次操作的bug这是PyQt5常见的bug,加多pyqtSlot()在函数前面试试看import新模块添加pyqtslot测试点涨工资终于对了tableView双击
在Matrix-web后台管理系统中,使用到了数据库的读写分离技术。采用的开源的Sharding-JDBC作为数据库读写分离的框架。 Matrix-Web后台数据库这一块采用的技术栈如下: 使用Mybatis-Plus作为ORM框架 使用Druid或者HikariCP作为数据库连接池 使用Sharding-JDBC 作为数据库读写分离的框架 基于任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP, Druid, HikariCP等。 支持任意实现JDBC规范的数据库。 ,关于数据库的读写分离和分库分表,可以参考我的另外几篇文章: Sharding-JDBC教程:Mysql数据库主从搭建 Sharding-JDBC教程:Spring Boot整合Sharding-JDBC 需要配置数据库名称,和上面配置的对应。以及数据的配置,包括连接池的类型、连接器、数据库地址、 数据库账户密码信息等。
分片字段或父子表为二进制字段 10013 ER_DATABASES_PARAM_DIFFER 存储节点参数检查中所有数据库不一致