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

标签 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(); 

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

最佳答案

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

还要确保您使用与列类型匹配的方法设置参数值。 .setString 用于文本列。名为“Salary”的列更可能是数字,因此如果该列是整数,您可能应该使用 .setInt,如果该列是小数,则您应该使用 .setBigDecimal或货币类型。

关于mysql - 从列范围内的表中获取结果集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33320804/

相关文章:

php - 获取Mysql数据并以分隔符分割

mysql - 1215 无法添加外键约束

c# - 在客户端控制台应用程序中将 SQL Server 连接字符串保存在何处?

java - 使用单个 PS 执行多个查询

php - MySQL 和 PHP 有问题

mysql 插入时间戳和更新时间戳

sql - 在sql server中查找表中每个日期的中位数

mysql - 如何在magento中测试sql查询?

java - 如何通过registerDriver()方法加载type-2 JDBC驱动程序?

java - 使用 JPA 导入 CSV