日期:2014-05-18  浏览次数:20747 次

Statement 中的executeUpdate如果执行的是DDL语句出错信息怎么返回?
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看不出来究竟是否执行成功了,这种情况怎么办啊?

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