如何从范围内的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)吗?什么是解决方案?
答案 0 :(得分:1)
你很亲密。您的主要问题是您使用.setString(1, ...)
两次,这是不正确的。 SQL命令文本中有两个参数占位符(?
),因此您需要设置索引为1
的第一个参数值,并设置索引为2
的第二个参数值。
还要确保使用与列类型匹配的方法set
参数值。 .setString
将与文本列一起使用。一个名为&#34; Salary&#34;更可能是数字,因此如果列是整数,您可能应该使用.setInt
,如果列是小数或货币类型,则可能使用.setBigDecimal
。