Jdbc 有人能告诉我PrepareStatement语法有什么问题吗
运行后,我得到:Jdbc 有人能告诉我PrepareStatement语法有什么问题吗,jdbc,Jdbc,运行后,我得到:java.sql.SQLException:参数索引超出范围(8>参数数量,即2)。 我的表definemyName和myCase是TEXT,我可以使用prepareStatement.setString调用setString时传入两个参数,第一个是要填充的参数的索引,第二个是要填充的值。在本例中,您需要prepareStatement.setString(1,name)填写第一个参数,prepareStatement.setString(2,案例)以填充第二个参数,依此类推。在
java.sql.SQLException:参数索引超出范围(8>参数数量,即2)。
我的表define
myName
和myCase
是TEXT
,我可以使用prepareStatement.setString调用setString
时传入两个参数,第一个是要填充的参数的索引,第二个是要填充的值。在本例中,您需要prepareStatement.setString(1,name)
填写第一个参数,prepareStatement.setString(2,案例)
以填充第二个参数,依此类推。在SQL中,您只有3个变量,并且您正在preparedStatement.setString(8,name)中将变量8设置为name
听着非常感谢你。我太傻了,我想那应该是我表中的索引。
public ResultSet readSubSet(int No, String name, String case) throws SQLException {
preparedStatement = connect.prepareStatement("SELECT * FROM target WHERE myName=? AND myCase=? LIMIT ?,10");
preparedStatement.setString(8, name);
preparedStatement.setString(6, case);
preparedStatement.setInt(1, No);
resultSet = preparedStatement.executeQuery();
return resultSet;
}