如何获取范围内的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();
我可以将值作为参数两次分配给数据库表列(EmployeeSalary)吗?什么解决方案?
最佳答案
你很接近。您的主要问题是您正在使用 .setString(1, ...)
两次,这是不正确的。 SQL 命令文本中有两个参数占位符 (?
),因此您需要将第一个参数值设置为索引 1
,将第二个参数值设置为索引 2
。
还要确保您使用与列类型匹配的方法设置
参数值。 .setString
用于文本列。名为“Salary”的列更可能是数字,因此如果该列是整数,您可能应该使用 .setInt
,如果该列是小数,则您应该使用 .setBigDecimal
或货币类型。
关于mysql - 从列范围内的表中获取结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33320804/