我正在调用存储过程以通过java方法更新表的一行,但是无法正常工作。
Java中调用此存储过程的方法我发送了两个参数(row的ID和新内容),该过程更新了两列(一个带有参数的内容,另一个带有数字),但是不知何故只会更新数字列,而其他则没有变化。
如果我在SQL Server上执行存储过程,则可以正常工作并更新该行的两列。
我在调用存储过程之前打印了该值,并且变量包含正确的值
这是我使用的存储过程的内容:
UPDATE table
SET content = @content, number=1
WHERE id = @id
select 1
如果存储过程正确执行,我将返回数字1
这是我用来调用存储过程的Java代码
Connection con;
CallableStatement cstmt;
try{
cstmt = con.prepareCall("CALL SP001(?,?)");
cstmt.setString (1, id);
cstmt.setString (2, content);
cstmt.executeUpdate();
cstmt.close();
}
catch(Exception e){
}
我不知道为什么会这样,我在做什么错了?