让PowerBuilder制作查询系统的界面更加酷

原创 2004年07月08日 19:53:00

在管理信息系统中,查询系统占了相当重要的地位(SQL的中文就是结构化查询语言),因为它是向用户开放的,界面一定要友善,要让别人一看就会操作。
根据查询结果记录的个数来分,查询可分为两种:
1.唯一记录查询。如:从键盘输入记录号,查询该人的档案。

2. 模糊查询,结果记录可能很多。

这里我们以制作婚姻介绍系统为例子,包括了难度较大的模糊查询,多按钮式选择界面,记录的连动。
工作原理:通过自己定义变量的来传递选择的条件,如:性别可定义变量sex,年龄可定义变量old。注意变量要先定义,后使用。
一. 多按钮选择界面的制作。在分组框内多个Radio Button在同一时刻只能选中一个。
操作步骤:新建一名字为b2的窗口,窗口内放置控件如下图。定义变量(重要),按菜单Declare的Instance Variables,在对话框中定义实例变量,键盘输入:
string sex
integer old
定义变量后查询按钮的Click事件中输入如下脚本:

if rb_1.checked=true then
sex="w"
elseif rb_2.checked=true then
sex="m"

end if
if rb_3.checked=true then
old=30
elseif rb_4.checked=true then
old=40
elseif rb_5.checked=true then
old=50
end if
sle_1.text=sex
sle_2.text=string(old)
若运行窗口(注意不是运行应用程序),选择后按查询按钮,结果如下图,则变量已被正确地自动赋值。

二.数据的过滤。接下来要进行过滤操作,即将变量传给SQL语言中的Where语句,在哪里写SQL语句呢?在数据窗口下方的Where标签页里,可以自动生成SQL的过滤语句。
在SQL anywhere里制作建立并输入下表,表名为aaa1,
表头:
字段 类型 长度 标题头
id char 10 编号
name char 10 姓名
old integer 年龄
sex char 10 性别
status char 30 状况
表aaa1的内容:
id name old sex status
1 小王 23 女 导游会英语
2 小李 34 男 个体收入高
3 小林 45 女 会计
4 小黄 27 男 电脑专家
5 小郑 38 女 教师

在数据窗口中新建立两个数据窗口:数据来源都为aaa1表,要求如下:
数据窗口名 字段 数据源形式 显示格式 SQL过滤语句
Ad1 Id,name,old,sex SQL Select 表格 "aaa1"."sex"=:sex and"aaa1"."old"<=:old
Ad2 Id,name,old,sex,status SQL Select 自由格式 "aaa1"."id"=:id

注意写SQL过滤语句是:在数据窗口中,先点中Id和 name两个字段,在窗口下方按Where标签页,按Colume,并在Cloume的下拉条中选中"aaa1"."sex",在Valua的一栏中填入 :sex,注意,这里的sex前面有一冒号,再在Cloume的下拉条中选中"aaa1". "old",在Operator栏选<=,在Valua的一栏中填入 :old,按窗口上方的Desion菜单,选Retriveal Arguments,在Name一栏填sex,注意,这里的sex前面没有冒号,type一栏选String,再在Name一栏的下一行填old,type一栏选number。同时,为让个人资料的表格数据按年龄升序排列,在窗口下方按Sort标签页,将左边的ID字段拖到右边。按Syntax标签页可看到自动生成的SQL语句。
SELECT "aaa1"."id",
"aaa1"."name",
"aaa1"."old",
"aaa1"."sex"
FROM "aaa1"
WHERE ( "aaa1"."sex" = :sex ) AND
( "aaa1"."old" <= :old )
ORDER BY "aaa1"."old" ASC
这里SQL语句的意思是选取性别=变量sex,年龄<=变量old的记录。只显示几个字段。尽管在Pb中,这些语句是通过拖动图标自动生成,但看一看,了解其工作原理还是有好处的。


三.数据的连动.可以用鼠标让记录的连动的窗口制作如下图,这里主要用到函数getitemString(getrow(),1),它可取得双击鼠标当前行的左边第一个字符串,即数据窗口一内当前行id字段的值,并赋给实例变量tttt,tttt再传给数据窗口二的SQL的过滤语句,Where id=:id,就可在数据窗口二中显示id=tttt的记录。在这两个数据窗口之间,变量tttt从数据窗口一跑到数据窗口二,起到象桥梁般的连接作用。数据窗口一即dw_1的鼠标单击事件的脚本如下:

ttttt=dw_1.getitemString (getrow(),1)
sle_1.text=ttttt
b4.dw_1.settransobject(sqlca)
b4.dw_1.retrieve(b3.ttttt)
dw_2.settransobject(sqlca)
dw_2.retrieve(ttttt)

PowerBuilder窗口设计

一、窗口的类型 1、Main(主)窗口   2、 Popup(弹出式)窗口   3、Child(子)窗口   4、Response(响应)窗口   5、MDI(多文档界面)窗口 二、窗口的...
  • acmjk
  • acmjk
  • 2015年03月04日 17:10
  • 843

PowerBuilder创建登录实例—你的心我终于懂了(二)

我们的这个简单的登录功能终于写完了,由于第一次使用PB,对其功能不太了解,所以操作步骤写的比较详细,但是本程序有一个缺点就是在第三步和第四步中,创建了数据窗口对象,到最后却没有用到,感觉有点多余,本来...
  • u010168160
  • u010168160
  • 2014年12月23日 07:58
  • 4520

PowerBuilder 数据窗口实例四(用户信息查询)

1. 设计数据窗口   2.设置table order值与更新属性(详见之前博客)   3. 设计查询窗体,并保存为w_userinfo_find 4. 在查询按钮的clicked(...
  • zhang88lei
  • zhang88lei
  • 2013年01月28日 17:10
  • 1144

最近收集的一些酷炫的UI界面设计

昨天学校实验室刚好要做每周一讲,于是乎收集了这些非常华丽酷炫的设计 接下来进入欣赏模式: 最后:学习之路永无止境,希望早日有实力做出像样的UI界面...
  • li962429707
  • li962429707
  • 2015年04月29日 15:29
  • 2418

pb项目:学生成绩管理系统

标题:pb小实例——学生成绩管理系统 引言:PowerBuilder是美国著名的数据库应用开发工具生产厂商PowerSoft(后被Sybase公司收购)推出的成功产品,其第一版于1991年6月正式投入...
  • luohuaishao
  • luohuaishao
  • 2013年12月20日 21:51
  • 2416

Android 简单炫酷的UI界面 之欢迎界面

1.将启动图片splash.png,放置在res->drawable-hdpi文件夹中。 2新建布局文件splash.xml...
  • qq_26626709
  • qq_26626709
  • 2016年05月17日 01:39
  • 2231

PowerBuilder开发简单计算器

简单计算器 指的是用户每输入完一个完整的表达式(一元或者二元)就计算。  1、设计好界面 2、在Declare Instance Variable里定义三个变量 decimal add1  //存...
  • acmjk
  • acmjk
  • 2015年03月05日 15:43
  • 1331

Android属性动画——实现炫酷的登录界面

这个星期还是比较忙,因为项目又要上线了,所以一个星期没有写博客了。今天是星期六,觉得总应该做点什么。今天我们聊聊我们常写的登录界面,这个界面我相信很多人都写过,而且也没什么难度,但是如果要实现比较不一...
  • qq_25193681
  • qq_25193681
  • 2016年07月23日 16:57
  • 5633

android Splash简单炫酷UI界面

MainActivity代码:import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import and...
  • huang3513
  • huang3513
  • 2016年10月14日 17:44
  • 1348

powerbuilder日期函数

PB系统函数 之 日期时间函数Day() ——————————————————————————- 功能得到日期型数据中的号数(1到31之间的整数值)。 语法Day ( date ) 参数dat...
  • u014679804
  • u014679804
  • 2015年07月15日 17:22
  • 906
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:让PowerBuilder制作查询系统的界面更加酷
举报原因:
原因补充:

(最多只允许输入30个字)