当前位置: 主页 > 编程知识 > 其他编程 > Oracle数据库开发技术经验浅谈

Oracle数据库开发技术经验浅谈

时间:2009-11-17来源:站长资讯网 点击:

----② 如何隐藏菜单中的window选项:

----在创建自己的菜单时,最后选项总有window项,下面介绍如何去掉它,

----1. 创建一个Menu

----2. 在Menu中建立一个Item,命名为WINDOW。

----3. 设置该Item属性如下:

----Menu Item Type:Magic

Command Type:Null

Magic Item:Window

Lable:为空

----③ 怎样创建动态下拉列表List

----Developer 2000 中的列表是通过设置相关属性而完成数据项的列表设置的,但那只是静态的,有时你想让某项成为动态的列表,随输入数据的改变而改变,就需要动手去编个小程序。下面详细介绍怎样去做:

----有块EBOP_CABLE_ACCOUNT,下有SPECIFICATION数据项,当一进入该模块时,就将SPECIFICATION项在数据库中存储的值动态显示出来,先在Form4.5中建立一个PRCEDURE,命名为DYN_LIST:

然后在FORM的WHEN-NEW

-FORM-INSTANCE触发子中加入一行:

DYN_LIST;

----这样一进入该FMX,就会动态刷新该列表。除此之外,SPECIFICATION数据项改为列表项。

----④ 当显示多条记录且数据项特别多时,如何组织录入及显示界面:

---- PRN代码及设备代码在画布1(CONTENT型)上,其它数据项在画布2(STACK型)上,所有数据项为一个表的列或一个块的数据项。在拉动水平滚动条时或用TAB或敲回车键时,将看到全部数据项。这种排布方法适用于数据项特别多又想显示多条记录时用。主要制作顺序为:先建立两个画布,画布1(CONTENT型),画布2(STACK型),然后建立块,选画布时用画布1,这样所有项都显示在画布1上,然后选中除PRN代码及设备代码之外的所有数据项,选TOOLS菜单下的PROPERTIES选项,将这些数据项的CANVAS属性选为画布2(STACK型),然后调整整体位置就可以了。

----⑤ 如何在FORM的受限触发子中提交保存数据

----在FORM中很多触发子是不能用COMMIT WORK语句的,当你在该触发子中使用了UPDATE,DELETE等操作并想立即存盘时,就需要COMMIT WORK语句了。首先在服务器端建立DB_SQL_COMMIT这个过程。

----然后在FORM中该触发子中调用过程DB_SQL_COMMIT;就可以了,当然你可以根据自己需要将该过程加入参数,这样通过参数可以得到执行DML语句的权限。

----⑥ 如何在FORM中实现某数据项自动按记录序号加一操作

----设块名为VO,要操作的数据项为VO_ID,在该块中建立块级触发子WHEN-CREATE- RECORD,加入如下代码:

:VO_ID:=:System.Trigger_Record;

----这样每当生成新记录时VO_ID就会自动加一了。

----⑦ 如何在一个FORM中调用另一个FORM,或在一个块中调用另一个块时显示特定的记录有时用户会要求在调用另一个FORM时,只显示相关的记录,举例如下,在一个FORM的块中有一个按钮,在按钮触发子中加入如下代码:

[pre]DECLARE PM

PARAMLIST;

BEGIN

PM:=GET_PARAMETER_LIST(‘PM‘);

IF NOT ID_NULL(PM) THEN

DESTROY_PARAMETER_LIST(‘PM‘);

END IF;

PM:=CREATE_PARAMETER_LIST(‘PM‘);

......................

ADD_PARAMETER(PM,‘THE_WHERE‘,TEXT_PARAMETER,‘EM_NAME=‘‘EM4‘‘

AND EM_PROJECT_NAME=‘‘支架预制‘‘‘);

OPEN_FORM(‘PAYMENT‘,ACTIVATE,SESSION,PM);

END;

[/pre]

----其中EM_NAME,EM_PROJECT_NAME为本FORM某块的数据项,PAYMENT为要调用的FORM模块。这样通过传递参数列表就可以得到想要的结果。在FORM. PAYMENT.FMB中,建立一参数THE_WHERE,CHAR型,长1000,然后在PAYMENT.FMB中建立FORM级触发子WHEN-NEW-FORM-INSTANCE,在该触发子中加入以下语句:

[pre] IF :PARAMETER.THE_WHERE IS NOT NULL THEN

SET_BLOCK_PROPERTY(‘PAYMENT‘,

DEFAULT_WHERE,:PARAMETER.THE_WHERE);

END IF;

[/pre]

----其中PAYMENT为要显示的块,这样通过参数传递就得到想要的某些特定条件的数据了。

----⑧ 在FORM中当有主从块时,连续输入记录如何避免被不断的提示保存:

----每输入一条主记录和若干条该主记录的从记录后,此时再导航到主块输下一条记录,FORM就会提示你是否要保存记录,而你并不希望FORM提示,让它自动保存,此时你可以到Program Units中找到过程PROCEDURE Clear_All_Master_Details,然后在这个过程中找到语句

三.数据库管理

----① 在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。

----② 数据库文件的移动方法

----当想将数据库文件移动到另外一个目录下时,可以用ALTER DATABASE命令来移动(比ALTER TABLESPACE适用性强):

----1. 使用SERVER MANAGER关闭实例.

[pre]SVRMGR > connect internal;

SVRMGR > shutdown;[/pre][pre]SVRMGR >exit;[/pre]

----2. 使用操作系统命令来移动数据库文件位置(假设这里操作系统为SOLARIS 2.6). 在UNIX中用 mv命令可以把文件移动到新的位置,

[pre]#mv /ora13/orarun/document.dbf /ora12/orarun[/pre]

----3. 装载数据库并用alter database命令来改变数据库中的文件名.

[pre]SVRMGR > connect internal;

SVRMGR > startup mount RUN73;SVRMGR > alter database rename file

> ‘/ ora13/orarun/document.dbf’

> ‘/ ora12/orarun/document.dbf’;

----4. 启动实例.

SVRMGR > alter database open;

----([email]huangfutong@china.com[/email])

[/pre]

 

站长资讯网
.
分页: [1] [2]
TAG: ORACLE 数据库 经验 技术 开发
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言