直接执行navicat 运行sqlserver 可以得到存储过程的结果,
用jdbc调用sqlserver的存储过程但是结果不一样,参数完全一样的情况下。
请专业的java后端来回答
1,存储过程和代码都涉及到事务的话注释掉代码中的事务试试
里面没有事务代码
参数可能不一样。把参数打印出来。
连接的是否是同一个数据库。
首先,你要确认下jdbc方式调用时使用的数据库和直接navicat中调用时是否同一个数据库;其次,jdbc调用时可以把sql语句打印一下,看下实际的sql语句参数和navicat中是否有出入,以免程序调用时包含了隐藏的参数
1、检查数据库连接是否同一个
2、打印代码中的SQL语句,对比Navicat中执行的SQL语句是否一致
可能是存储过程中对空字符串和NULL值处理不一样?
navicat里留空的项传的值和你调用时传的值是一样?
差哪些?存储过程可以贴出来吗? 猜测和楼上一样,与事务,执行顺序有关
把你代码中的参数和得到的结果贴出来看看
你把执行语句打出来,把链接打出来