【PB案例学习笔记】-33 PB连接Oracle数据库查询数据

2024-08-21 07:28

本文主要是介绍【PB案例学习笔记】-33 PB连接Oracle数据库查询数据,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是晓凡。

写在前面

这是PB案例学习笔记系列文章的第33篇,该系列文章适合具有一定PB基础的读者。

通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。

文章中设计到的源码,小凡都上传到了gitee代码仓库https://gitee.com/xiezhr/pb-project-example.git

gitee代码仓库

需要源代码的小伙伴们可以自行下载查看,后续文章涉及到的案例代码也都会提交到这个仓库【pb-project-example

如果对小伙伴有所帮助,希望能给一个小星星⭐支持一下小凡。

一、小目标

我们日常开发一个应用,不管应用再小,基本上都离不开数据库的支持。

PB对一些主流的大型关系型数据库(OracleSQLServerMySQL)提供了专用的数据库接口,对一些小型数据库如

(ExcelAccess)数据库提供了ODBC接口支持。

通过本案例,我们使用PB连接Oracle数据库,并且查询数据表中数据显示出来。

最终实现效果如下

连接数据库

二、数据库信息

我们在安装完Oracle数据库之后,默认会带有scott这个用户,在scott用户下面有一张员工信息表emp.

emp表结构如下

create table EMP
(EMPNO    NUMBER(4) not null,  --员工编号ENAME    VARCHAR2(10),    --员工姓名JOB      VARCHAR2(9),  --员工职位MGR      NUMBER(4),   -- 员工上级领导HIREDATE DATE,        --雇佣日期SAL      NUMBER(7,2), -- 薪水COMM     NUMBER(7,2),  --奖金DEPTNO   NUMBER(2)     --部门编号
)

表数据如下

emp表数据

三、创建程序基本框架

① 新建examplework工作区

② 新建exampleapp应用

③ 新建w_main窗口,将title设置为“员工信息”

搭建程序基本框架

以上步骤,由于篇幅原因,这里不再赘述。

四、建立数据源

① 新建DB Profile

新建

② 配置数据库连接信息

配置数据库信息

数据表拥有者

③ 测试是否连接成功

测试是否生成成功

出现下面提示表示连接成功

连接成功

五、创建数据窗口

① 单击菜单栏上的File–>New命令,在弹出的窗口中选择DataWindow选项卡中的Grid风格的数据窗口

grid风格数据窗口

② 选择Quick Select

Quick Select

③ 选择emp表并选择需要展示的表字段

选择表和字段

④ 默认下一步,并修改表头

修改表头

⑤ 设置薪水、奖金显示格式,并设置右对齐

  • Style Type 选择EditMask类型
  • Mask格式为:###,###.00

设置金额格式

⑥ 将数据窗口保存为d_emp

d_emp

六、在窗口中添加控件

① 在w_main窗口中添加2个CommandButton控件,分别为cb_1cb_2,Text分别为查询和退出

添加按钮控件

② 在w_main窗口上添加DataWindon 控件,名称为dw_1

  • HScrollBar 框勾选上,横向滚动条(当横向显示不下时,会自动产生滚动条)

  • VScrollBar框勾选上,纵向滚动条(当纵向显示不下时,会自动产生滚动条)

  • 将数据窗的DataObject设置成d_emp

控件布局

七、编写代码

① 单击开发界面左边的System Tree中的exampleapp对象,并在其Open事件中添加如下脚本

SQLCA.DBMS = "O90 Oracle9i (9.0.1)"
SQLCA.LogPass = "tiger"
SQLCA.ServerName = "127.0.0.1:1521/orcl"
SQLCA.LogId = "scott"
SQLCA.AutoCommit = False
SQLCA.DBParm = "PBCatalogOwner='scott'"
connect;
open(w_main)

② 在dw_1constructor事件中添加如下代码

this.settransobject( sqlca)

dw_1中添加代码

② 在刚才添加的【查询】按钮 cb_1clicked中添加如下代码

//使数据窗口与事务对象连接
dw_1.settransobject(sqlca)
//执行检索操作
dw_1.retrieve()

③ 在【退出】按钮cb_2clicked中添加如下代码

close(parent)

④ 单击开发界面左边的System Tree中的exampleapp对象,并在其close事件中添加如下脚本

//关闭程序释放资源
disconnect;

八、运行程序

看看能不能查询出数据

连接数据库

以上就是本期内容的全部 ★,°:.☆( ̄▽ ̄)/$:.°★ 。 希望对您有所帮助

我们下期再见 ヾ(•ω•`)o (●’◡’●)

这篇关于【PB案例学习笔记】-33 PB连接Oracle数据库查询数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092503

相关文章

Redis客户端连接机制的实现方案

《Redis客户端连接机制的实现方案》本文主要介绍了Redis客户端连接机制的实现方案,包括事件驱动模型、非阻塞I/O处理、连接池应用及配置优化,具有一定的参考价值,感兴趣的可以了解一下... 目录1. Redis连接模型概述2. 连接建立过程详解2.1 连php接初始化流程2.2 关键配置参数3. 最大连

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

RabbitMQ消费端单线程与多线程案例讲解

《RabbitMQ消费端单线程与多线程案例讲解》文章解析RabbitMQ消费端单线程与多线程处理机制,说明concurrency控制消费者数量,max-concurrency控制最大线程数,prefe... 目录 一、基础概念详细解释:举个例子:✅ 单消费者 + 单线程消费❌ 单消费者 + 多线程消费❌ 多

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分