Oracle Forms builder---text item
本文主要是对Oracle Forms Builder 中的Text Item 的用法写了一个简单的例子,仅供参考。
创建表:ling_info
CREATE TABLE ling_info(
ID NUMBER PRIMARY KEY NOT NULL,
NAME VARCHAR2(20),
sex VARCHAR2(1),
birthday DATE
);
创建序列:
CREATE SEQUENCE ling_info_seq
INCREMENT BY 1
START WITH 1;
插入记录:
INSERT INTO ling_info VALUES(ling_info_seq.nextval,'Rolin','m',to_date('1/10/1991','dd/mm/yyyy'));
INSERT INTO ling_info VALUES(ling_info_seq.nextval,'Tom','m',to_date('1/1/1991','dd/mm/yyyy'));
查询记录:
SELECT * FROM ling_info
<img src="https://img-blog.youkuaiyun.com/20150107181105859?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSGVhdmVubGluZ2Vy/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
在form 中按照下图的操作进行:
最上面的 Data Block -------FIND_ID, TEXT ITEM 为 ID , BUTTON 为QUERY,
下面显示的Data Block 为LING_INFO, 其Number of Records Displayed 的值为10,目的是让这个Data Block 中的每个Item都显示为10行。
TEXT ITEM 为ID, NAME, SEX, BIRTHDAY.
SEX 为LIST ITEM 在其eement list 中写对应的值:
female-------f female 是lable 显示的值,而f是value,要与数据库中存入的数据一致
male----------m
birthday 的Property Palette 中的 Data Type 为Data , Fomat Mask : dd/mm/yyyy -------日期的显示格式
为BUTTON 写一个触发器:WHEN - BUTTON - PRESSED
go_block('ling_info');
execute_query;
在LING_INFO的Data Block 的Property Palette 中的 WHERE CLAUSE 中这样写:
id= nvl(:find_id.id, id)
目的:如果查询条件为空时查询所有的记录,如果查询条件不为空,则根据查询条件查询相关记录。
应该注意的是,如果你创建的Data Block是
虽然你在WHERE CLAUSE中这样写: id=nvl(:find_id.id,id)
但是在查询的时候就必须输入查询条件才可以查出数据,
如果是
则在没有输入查询条件的时候也可以查询出所有数据。