java - 没有找到适合 setString 的方法

标签 java stored-procedures

我正在编写一个调用 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/

相关文章:

移动 jMapViewer 时出现 java.util.ConcurrentModificationException

sql - MySQL IN 运算符

sql - Insert 语句的创建过程出现问题。错误消息: "error near @Parameter Name"

java - 单元测试模拟服务实现

java - Response.getWriter() 应该关闭/刷新

java - 需要帮助在我的 Java GUI 中实现用户输入的监听器

java - 为什么 bufferedreader 对这些值返回 null?

asp.net - SqlDataSource 和存储过程调用问题

sql-server - 消失的存储过程

oracle - 我的程序中不断出现错误,这些错误有助于添加新类(class),并在说明中提出了要求