你把你的存储过程结构修改下看看if(isexit){ ...}else{ insert....}

解决方案 »

  1.   

    异常的机制就是如此, 发现错误马上退出. sqlserver异常处理机制不太完善, 出错异常还能继续执行. 几乎在每一个更新语句后都要加上类似 select @system_error = @@error
    if(@system_error<>0) ...的处理. jdbc sqlserver的驱动针对此和其他数据库做的一致了, 因此对的反而像是错了...尝试用odbc驱动, 可能可以解决你的问题.