我是OracleForms和Plsql中的新手,我在proyect中找到了以下代码:
PROCEDURE grabar IS
...
Pl_id paramlist;
...
BEGIN
pl_id := Get_Parameter_List ('tmpdata');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata'); 我想知道,如果'tmpdata‘不存在,我会得到一个错误?pl_id := Get_Parameter_List ( 'tmpdata‘);我是在PL_id中插入'tmpdata’的数据吗?‘tmpdata’是Oracleforms的默认变量吗?
它不是OracleForms,但它是一个基于它的工具,所以是如此相似。
我证明了更改为:pl_id := Get_Parameter_List ('tmpdata_HELLO');,在这里输入代码,并且传递给它的程序控制台向我显示如下:
2018年5月25日下午4:46:30 org.apache.tomcat.util.http.Parameters processParameters INFORMACI N:字符解码失败。值%null的参数值已被忽略。请注意,此处引用的名称和值可能由于解码失败而损坏。使用调试级别日志记录可以查看原始的、未损坏的值. 注意:参数错误的进一步发生将记录在调试级别。
发布于 2018-05-25 21:37:55
在本例中,"tmpdata“是可能存在或可能不存在的参数列表的名称。"ID_NULL“是通过检查返回的ID是否有值来检查参数列表是否存在。如果它有一个值(即ID_NULL返回FALSE),那么参数列表就会被销毁,这样"Create_Parameter_List“命令就不会得到错误。
如果没有给定名称的参数列表(在本例中为“tmpdata”),"Get_Parameter_List“将不会引发错误;它只是返回null。
https://stackoverflow.com/questions/50531951
复制相似问题