zoukankan      html  css  js  c++  java
  • com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。

    环境:mybatis+SqlServer

    完整错误:

    ### Cause: org.apache.ibatis.executor.ExecutorException: Error getting generated key or setting result to parameter object. Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。

    mybatis代码

    <insert id="addYanan" useGeneratedKeys="true" keyColumn="idgr" keyProperty="idgr">……</insert>

    原本是正常的,在我加了个触发器之后就不正常了,触发器主要内容如下:

    ALTER TRIGGER [dbo].[gerenateGrbh] ON [dbo].[YANAN] after INSERT 
    AS
    BEGIN 
          SET NOCOUNT ON;
          ……
        update  ……
    END
    END      

    原因 触发器update的时候用到了YANAN表的主键id,mybatis中useGeneratedKeys="true",这时候需要加上触发器中SET NOCOUNT ON;(深层原因没太深究)

  • 相关阅读:
    No.7 selenium学习之路之Alert弹窗
    SQLAlchemy
    flask之wtforms
    Django中的信号及其用法
    Flask进阶
    Flask入门
    Django知识点总结
    登录验证随机验证码的实现
    Django之session与分页
    Django之Form组件
  • 原文地址:https://www.cnblogs.com/yanan7890/p/14425643.html
Copyright © 2011-2022 走看看