所以我试图执行一个从用户获取2个int值的查询,但是我收到此错误消息。我做错了什么?
“当前语句的至少一个参数未初始化”
这是我的查询
selectStudentsInRange = connection.prepareStatement("SELECT* FROM Results WHERE total BETWEEN ? AND ?");
这是我的方法,是的不是整个代码。
public List< Results > getTotalMarksInRange( int value1, int value2 )
{
List< Results > results = null;
ResultSet resultSet = null;
try
{
selectStudentsInRange.setInt( value1, value2 ); // specify id
// executeQuery returns ResultSet containing matching entries
resultSet = selectStudentsInRange.executeQuery();
results = new ArrayList< Results >();
请注意,这不是整个代码我有很多类我只是想知道这部分的错误是什么。
答案 0 :(得分:2)
当前语句的至少一个参数未初始化
selectStudentsInRange.setInt( value1, value2 ); // specify id
更改为
selectStudentsInRange.setInt(1, value1 );
selectStudentsInRange.setInt(2, value2 );
答案 1 :(得分:1)
应该是:
selectStudentsInRange.setInt(1, value1);
selectStudentsInRange.setInt(2, value2);
第一个参数是参数索引,第二个参数是参数值。
请参阅文档here。
答案 2 :(得分:-1)
selectStudentsInRange.setInt(1, value1 ); //this is how to set First Argument.
selectStudentsInRange.setInt(2, value2 ) // Set Your Second Argument.
//but make sure value1 and value2 both are Integer Type