如题:在客户端工具中执行的时候sql没有任何问题,但是系统运行中却报错。
例如:
update us_im_record set authorid =null where im_num='INC-20130107-234'
杨小一最近确实面临了这样的一个很郁闷的问题,今天终于有答案了。
原理:
在没有显示mapping定义数据类型的情况下,首先使用参数值的java类型决
定传输给prepareStatement的参数类型,然后使用 Type.OTHER 进行输入,如果参数是
值是null,则只能使用 Type.OTHER 了。在DB2的driver下,该方式不能正确执行。
针对上面的解释,在Mapping中为字段添加类型就可以把这个问题解决。其实很简单的
update us_im_record set authorid =#to_do_man:VARCHAR# where im_num=#num#
希望这样的分享能给大家带来帮助,杨小一问候所有的猿媛!