原来写的存储过程不会的得到想要的结果,是由于jdbc的方法决定的。建议把
UPDATE TLK_学生信息表单 SET ITEM_CODE = 0;
select * from TLK_学生信息表单;
改为:
SET NOCOUNT ON;
UPDATE TLK_学生信息表单 SET ITEM_CODE = 0;
select * from TLK_学生信息表单;
就可以得到想要的结果。
具体解析:执行存储过程需要调用execute方法,这个方法的的返回值决定于第一个result,如果第一个返回的结果是int,也就是update和insert执行的语句,则返回false,就不会有结果集,如果第一个是执行select语句,返回值就是true,会有结果集。set nocount on 是让更新,但不会作为返回的结果。这样就可以让select作为第一个返回的结果。