嘘~ 小破站正在拼命加载中 . . .

【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

新建`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 (●’◡’●)


文章作者: xiezhr
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 xiezhr !
评论
  目录