免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1377 | 回复: 1
打印 上一主题 下一主题

.ec开发中的1213错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-05-22 20:24 |只看该作者 |倒序浏览
有两套开发环境A、B,操作系统都是HP-UX,数据库为Informix Dynamic Server 2000。在环境A有一个.ec程序,有如下的sql语句:
   EXEC SQL DECLARE TranBill_cur cursor for
      select * from b2b_blotter
      where acc_counter2 in ( select bran_code from com_branch
            group by bran_code )
            and valid_flag = 0
            and disposal_mode = 0
            and acct_date = :trans_date
      order by acc_counter2, trans_date, voucher_no;
   其中,valid_flag、disposal_mode字段类型都是char(1)。
   在环境A中运行程序,没有问题。
   将程序(包括源程序、Makefile、相关的库文件等)拷贝到环境B,编译运行时报错-1213(A character to numeric conversion process failed.),将sql语句修改为:
   EXEC SQL DECLARE TranBill_cur cursor for
      select * from b2b_blotter
      where acc_counter2 in ( select bran_code from com_branch
            group by bran_code )
            and valid_flag = '0'
            and disposal_mode = '0'
            and acct_date = :trans_date
      order by acc_counter2, trans_date, voucher_no;
   编译后运行正常。
   
   在.ec程序的sql语句中,char()类型字段作查询条件时,什么情况下必须要加引号,什么情况下又可以不加呢?

论坛徽章:
0
2 [报告]
发表于 2004-05-23 16:46 |只看该作者

.ec开发中的1213错

当表中b2b_blotter中,valid_flag或disposal_mode包含了非0-9字符的记录时,不加引号会导致转换错误;
建议:尽可能减少由数据库根据字段类型和用户所赋的值进行动态转换的开销;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP