从列范围内的表中获取结果集?

时间:2015-10-24 16:55:33

标签: mysql sql jdbc

如何从范围内的DB表中获取ResultSet?

 String sql=SELECT * From Employee Where Salary<=? AND Salary>=?;

 PreparedStatement preparedStatement = connection.prepareStatement(sql);

 String lowest_salary=In.nextLine();

 String max_salary=In.nextLine(); 

 preparedStatement.setString(1,lowest_salary); 

 preparedStatement.setString(1,max_salary);

 ResultSet resultSet = preparedStatement.executeQuery(); 

我可以将值作为参数两次分配给DB表列(EmployeeSalary)吗?什么是解决方案?

1 个答案:

答案 0 :(得分:1)

你很亲密。您的主要问题是您使用.setString(1, ...)两次,这是不正确的。 SQL命令文本中有两个参数占位符(?),因此您需要设置索引为1的第一个参数值,并设置索引为2的第二个参数值。

还要确保使用与列类型匹配的方法set参数值。 .setString将与文本列一起使用。一个名为&#34; Salary&#34;更可能是数字,因此如果列是整数,您可能应该使用.setInt,如果列是小数或货币类型,则可能使用.setBigDecimal