int executeUpdate(String sql) 如果执行的是DDL语句例如 ALTER TABLE CL_clear ADD kissme int NOT NULL 在这种情况下,无论执行是否成功,返回值都是0,怎么区分返回是否成功啊?例如如果执行ALTER TABLE CL_clear ADD kissme int(5) NOT NULL 肯定就是出错的,但是int executeUpdate(String sql)的返回值为0看不出来究竟是否执行成功了,这种情况怎么办啊?

解决方案 »

  1.   

    executeUpdate返回的是影响的记录条数。DDL不影响记录,因而总是返回0。
      

  2.   

    究竟是返回空值还是返回0啊?我看文档上写返回nothing,都是我测试之后觉得是返回0,那么如何区分这个ddl语句是否正确执行了呢?
      

  3.   

    用Integer executeUpdate(String sql) 取代int executeUpdate(String sql) 
    因为Integer默认值可以是null,而int则不可以,所以无法区分
    这样执行DDL语句的时候如果出错,会中断执行,Integer的默认值仍然为null,这样就可以断定执行出错了.如果变为0则表示执行成功