【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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

MYSQL查询结果实现发送给客户端

《MYSQL查询结果实现发送给客户端》:本文主要介绍MYSQL查询结果实现发送给客户端方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql取数据和发数据的流程(边读边发)Sending to clientSending DataLRU(Least Rec

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)