我正在编写一个调用 MSSQL 数据库中的存储过程的方法。
存储过程有 4 个输入,全是数字。
我使用 setString()
输入存储过程的参数。
我收到以下编译错误
no suitable method found for
setString(int, int)
它似乎想要setString(int, string)
,但我需要传递的参数是整数,而不是字符串。
有没有办法传递整数,或者我是否必须将int
转换为字符串
?
public void genRoadMap(int id, int semester, int debug, int units)
{
CallableStatement c = null;
try
{
c = connection.prepareCall("{call dbo.GenerateRoadMap(?, ?, ?, ?)}");
c.setString(1, id);
c.setString(2,semester);
c.setString(3,debug);
c.setString(4,units);
c.execute();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
最佳答案
如果方法签名需要的话,您必须将 int
转换为 String
。您可以使用 String.valueOf()
方法来实现这一点。
为了解决您在评论中所说的问题:如果您尝试让过程将数据作为int
进行处理,则需要按此方式传递数据使用 CallableStatement
中的适当方法(在本例中为 setInt()
)。
关于java - 没有找到适合 setString 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20292466/