免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1919 | 回复: 1

用RPG更新SQL创建的TABLE的NULL VALUE相关 [复制链接]

论坛徽章:
0
发表于 2012-08-18 17:08 |显示全部楼层
     如题,有个表改由SQL创建了,于是就引来了一系列问题:
     NOT NULL WITH DEFAULT 每个字段定义后面如果不加这一句的话(不加当然也有不加的原因),程序运行遇到NULL值的记录就直接报CPF5035的错误: “19 -- An unexpected null field was found.”。
     后来在编译程序的时候,把ALLOW NULL VALUE这个参数的值改为“*USRCTL”,程序再遇到NULL值的记录就不会报错了。
     过了一段时间,问题又来了,RPG程序中更新该条记录,如果遇到值是NULL的字段,更新无效!单调程序的时候明明字段付上了值,可UPDATE之后数据表里该字段还是NULL - -!
     这种情况,大家有人碰到过吗?

论坛徽章:
0
发表于 2012-08-19 23:48 |显示全部楼层
    找到答案了,就在这分享出来吧。
    用一个build-in-function  %NULLIND()来对字段进行赋值或判断:
  1.     /Free
  2.    Chain (Key) YourFileF;
  3.    If %NULLInd(MyFld) = *On;    // 说明字段是NULL值
  4.       %NULLInd(MyFld) = *OFF    // 这样就可以正常赋值了
  5.       MyFld = 'Whatever';
  6.    EndIf;

  7.    If %NULLInd(MyFld2) = *OFF  // 字段不是NULL值
  8.       %NULLInd(MyFld2) = *ON   //  赋成NULL值
  9.    EndIf;

  10.    Update YourFileF;
  11. /End-Fre
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP