参数索引超出范围MySQL PreparedStatement?

参数索引超出范围MySQL PreparedStatement?,mysql,sql,jdbc,prepared-statement,Mysql,Sql,Jdbc,Prepared Statement,我尝试做一个选择: 但我收到一个例外: 试着这样做: preparedStatement = connection.prepareStatement(sqlCompetition); preparedStatement.setInt(...); 我认为变量中仍然有旧语句请这样尝试: preparedStatement = connection.prepareStatement(sqlCompetition); preparedStatement.setInt(...); 我认为变量中仍然有

我尝试做一个选择:

但我收到一个例外:

试着这样做:

preparedStatement = connection.prepareStatement(sqlCompetition);
preparedStatement.setInt(...);
我认为变量中仍然有旧语句

请这样尝试:

preparedStatement = connection.prepareStatement(sqlCompetition);
preparedStatement.setInt(...);
我认为变量中仍然有旧语句

请这样尝试:

preparedStatement = connection.prepareStatement(sqlCompetition);
preparedStatement.setInt(...);
我认为变量中仍然有旧语句

请这样尝试:

preparedStatement = connection.prepareStatement(sqlCompetition);
preparedStatement.setInt(...);

我认为变量中仍然有旧语句

您正在
行号212
处创建
PrepareStatement
对象,但您没有分配给
PrepareStatement
变量,这意味着
PrepareStatement
变量仍然保存旧对象

在使用
setInt()
方法的
行号213
处,它将调用旧对象。您的旧对象似乎包含任何占位符,因为这个原因,您得到了
参数索引超出范围异常


将新创建的
PreparedStatement
对象分配给
prepareStatement
行号212处的变量以解决您的问题。

您正在
行号212处创建
prepareStatement
对象,但未分配给
prepareStatement
变量,这意味着
prepareStatement
变量仍然保存旧对象

在使用
setInt()
方法的
行号213
处,它将调用旧对象。您的旧对象似乎包含任何占位符,因为这个原因,您得到了
参数索引超出范围异常


将新创建的
PreparedStatement
对象分配给
prepareStatement
行号212处的变量以解决您的问题。

您正在
行号212处创建
prepareStatement
对象,但未分配给
prepareStatement
变量,这意味着
prepareStatement
变量仍然保存旧对象

在使用
setInt()
方法的
行号213
处,它将调用旧对象。您的旧对象似乎包含任何占位符,因为这个原因,您得到了
参数索引超出范围异常


将新创建的
PreparedStatement
对象分配给
prepareStatement
行号212处的变量以解决您的问题。

您正在
行号212处创建
prepareStatement
对象,但未分配给
prepareStatement
变量,这意味着
prepareStatement
变量仍然保存旧对象

在使用
setInt()
方法的
行号213
处,它将调用旧对象。您的旧对象似乎包含任何占位符,因为这个原因,您得到了
参数索引超出范围异常


将新创建的
PreparedStatement
对象分配到
prepareStatement
行号212处的变量来解决您的问题。

我认为参数没有传递任何内容,sql中的“?”没有替换任何值。正因为如此,你才犯了那个错误。简单地用值替换“?”,然后检查是否运行。我认为参数没有传递任何东西,这意味着在sql中“?”没有替换任何值。正因为如此,你才犯了那个错误。简单地用值替换“?”,然后检查是否运行。我认为参数没有传递任何东西,这意味着在sql中“?”没有替换任何值。正因为如此,你才犯了那个错误。简单地用值替换“?”,然后检查是否运行。我认为参数没有传递任何东西,这意味着在sql中“?”没有替换任何值。正因为如此,你才犯了那个错误。简单地用值替换“?”,然后检查是否运行。