如何从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)?解决方案是什么?
你很接近了。你的主要问题是你使用.setString(1, ...)
两次,这是不正确的。在SQL命令文本中有两个参数占位符(?
),因此需要用索引1
设置第一个参数值,用索引2
设置第二个参数值。
还要确保使用与列类型匹配的方法set
参数值。.setString
用于文本列。名为"Salary"的列更可能是数字类型,因此如果该列是整数,可能应该使用.setInt
,如果该列是小数或货币类型,则应该使用.setBigDecimal
。