2015-10-16 16:19题主

如何将传递的参数转换成整数

需要查询 oracle 数据表
select * from student where id in ( {?student_id?} )
其中 id为整型,{?student_id?}的值='1,2,3',
想到达到的最后效果是 sql=select * from student where id in(1,2,3)
这个sql语句在oracle查询分析器中可以正常运行,得出想到的结果 。可是在webbuilder中进行
select * from student where id in({?student_id?}) ,总是提示 错误提示”无效的数字“,请问有何办法可以解决这个问题?
2015-10-17 08:28#1
你的理解有误,select * from student where id in ({?student_id?})相当于in单个值(等于sql ...where id in (?),
而单个值"1,2,3"显然不是数值,当然报错,
必须把多个值动态生成多个参数来引用 in({?p1?},{?p2?}....)
2015-10-17 08:55#2
对固定的参数可以这样来处理,但是这个参数不固定,有可能是2个,也有可能是5个,也许在model的initscript中把接收到的参数数组分割组装可行。我试一下
2015-10-19 08:47#3
是动态生成SQL参数列,看用户管理->用户查询模块示例

返回开发者社区