实现升序降序排列问题
创始人
2024-05-16 03:18:09
0
package com.bjpowernode.jdbc;import java.sql.*;
import java.util.Scanner;/*** 需求:用户在控制台上输入desc则降序,输入asc则升序* 思考:为了完成上述需求是使用Statement还是使用preparedStatement呢?*       这里就不能使用preparedStatement,因为它只适合传值,不能进行字符串的拼接,为此这里只能使用Statement。*       此时如果使用PreparedStatement,通过传值来实现就会出现如下情况:*       String sql = "select ename,sal from emp order by sal ?";*       ps = conn.prepareStatement(sql);*       这时对这条sql语句进行传值,一定是传入一个字符串的操作*       ps.setString(1,"asc");*       传值后的sql语句就变成了如下的情况*       select ename,sal from emp order by sal "asc";双引号是自动添加的。这是错误的sql语句。*       select ename,sal from emp order by sal asc; 这是正确的sql语句。*       为此为了实现排序的需求只能使用Statement。*/
public class 实现升序降序排列问题 {public static void main(String[] args) {Scanner s = new Scanner(System.in);System.out.print("请输入desc或asc【desc表示降序,asc表示升序:】");String orderKey = s.next();Connection conn = null;Statement stmt = null;ResultSet rs = null;try {//1.注册驱动Class.forName("com.mysql.jdbc.Driver");//2.获取连接conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","******");//3.获取预编译的数据库操作对象stmt = conn.createStatement();//4.执行SQL语句String sql = "select ename,sal from emp order by sal " + orderKey;//这里需要注意sal后面千万别少了一个空格" "。rs = stmt.executeQuery(sql);//5.处理查询结果集while (rs.next()){//String ename = rs.getString("ename");//String sal = rs.getString("sal");System.out.println(rs.getString("ename") + "," + rs.getString("sal"));}} catch (ClassNotFoundException e) {e.printStackTrace();} catch (SQLException e) {e.printStackTrace();} finally {if (rs != null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}if (stmt != null) {try {stmt.close();} catch (SQLException e) {e.printStackTrace();}}if (conn != null) {try {conn.close();} catch (SQLException e) {e.printStackTrace();}}}}
}

相关内容

热门资讯

江苏开展“两新”政策落实专项审... 本报讯 (记者 杨民仆) 近日,省审计厅全面启动大规模设备更新和消费品以旧换新政策落实情况专项审计调...
把一揽子生育支持政策落到群众心... 孝感市卫健委党组书记、主任夏军: 把一揽子生育支持政策落到群众心坎上 8月18日,孝感市卫健委党...
北京:持续完善涉外法律服务体系 本报记者 张 璁 今年3月,第112届全国糖酒商品交易会在成都开幕,吸引来自50余个国家和地区的66...
户外博主私采国家二级保护植物“... 近日,有网友在社交平台举报称,重庆户外博主“旅行阿杰”曾于2024年7月30日发布视频,内容显示其在...
提醒:北京时间02:00,美联... 提醒:北京时间02:00,美联储将发布7月份FOMC货币政策会议的纪要文件。
新疆国统管道股份有限公司 关于... 本公司及董事会全体成员保证信息披露的内容真实、准确、完整,没有虚假记载、误导性陈述或重大遗漏。 重要...
金建希被曝狱中问律师“我死才能... 20日媒体报道,律师称金建希在狱中“消瘦得只剩一副骨架”,还问“我是不是死了,尹锡悦才有一条生路。”...
加大高质量科技供给和政策支持 ... 8月20日,中共中央政治局常委、国务院总理李强在北京调研生物医药产业发展情况。这是李强在百济神州(北...
美联储公布7月货币政策会议纪要... 每经AI快讯,8月21日,美联储最新公布的7月货币政策会议纪要显示,大多数委员认为通胀风险大于就业风...