【PB案例学习笔记】-51数据查询

写在前面

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

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

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

gitee代码仓库

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

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

一、小目标

通过本案例,我们将制作一个根据员工编号查询员工信息的程序。在指定位置输入员工编号,
单击【查询】按钮,在窗口下端会显示该员工的基本信息,如果没有要查询的员工编号,会弹出提示窗,“没有此员工”。
最终效果如下:
查询数据

二、实现思路

在PB开发应用程序中,大多数情况下与数据库交互都是通过数据窗口完成的。但有时候我们也需要在程序中直接使用SQL语句来
操作数据库,例如查询一条员工信息。针对这样的需求,PB 提供了一整套嵌入式SQL语句。利用嵌入SQL语句,我们就可以轻松实现本案例功能。

三、创建程序基本框架

有了基本思路之后,我们就动起来开始写程序了

① 新建examplework 工作区

② 新建exampleapp应用

③ 新建w_main窗口,并将其Title设置为“查询数据”

由于文章篇幅的原因,以上步骤就不再赘述,如果忘记的小伙伴可以翻一翻该系列第一篇文章复习一下

四、界面布局

① 建立窗口控件
在窗口中添加6个StaticText控件、5个SingleLineEdit控件和2个CommandButton控件。分别命名为st_1~st_6
sle_1~sle_5cb_1cb_2
② 设置控件属性
st_1~st_6cb_1cb_2控件的Text值分别设置为“员工信息管理”、“请输入所要查询员工的员工编号:”、“姓名”
、“性别”、“职位”、“雇佣日期”、“薪水” 、“查询”和”退出“
界面布局

五、编写代码

① 在cb_1控件的Clicked事件中编写代码

sle_2.text = ''
sle_3.text = ''
sle_4.text = ''
sle_5.text = ''

select t.ename,
       decode(t.sex, '1', '男', '2', '女') as sex,
       to_char(t.hiredate, 'yyyy-mm-dd') as hiredate,
       sal
	into :sle_2.text,
		  :sle_3.text,
		  :sle_4.text,
		  :sle_5.text
  from emp t
  where t.empno=:sle_1.text;
  
if sle_2.text = "" then
	messagebox('提示信息',"没有此员工")
	sle_1.text = ""
end if
sle_1.setfocus()

② 在cb_2控件的Clicked事件中编写代码

close(w_main)

③ 在开发界面左边的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)

④ 在开发界面左边的System Tree窗口中双击exampleapp应用对象,并在其close事件中添加如下代码

disconnect;

六、运行程序

运行程序,看看有没有达到预期

查询数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员晓凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值