实现升序降序排列问题
创始人
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();}}}}
}

相关内容

热门资讯

《广东省现代企业制度建设促进条... 企业是推动中国式现代化、培育新质生产力的重要载体。习近平总书记高度重视中国特色现代企业制度建设工作,...
原创 2... 在国际舞台上,经济与政治的交织从未如此紧密。在全球化的今天,国家之间的互动不仅仅体现在贸易往来,更是...
原创 美... 北京时间10月13日,詹姆斯在10月7日的“决定二”引发巨大争议,一名湖人球迷加西亚正起诉詹姆斯,指...
《广东省促进粤港澳气象合作发展... 2025年10月11日,省十四届人大常委会第二十一次会议审议通过了《广东省促进粤港澳气象合作发展条例...
UL2272标准法规要求 大家好,作为一名关注产品安全的自媒体小编,今天想跟大家聊聊UL2272标准,这是一项和电动滑板车、电...
女子餐馆吃6元面条,穿高跟鞋不... 顾客在餐馆点了 一碗6元的面条 返回座位时 穿着高跟鞋的她脚一滑 摔成骨折 事后 顾客起诉餐...
国家发改委:征求能源制度意见,... 【国家发展改革委就相关制度实施办法征求社会意见】国家发展改革委发布公告,向社会公开征求《可再生能源消...
追责购票短信诈骗“帮凶” 一起... 新华社杭州10月13日电(记者吴帅帅)利用1068号段短信伪装成某大型票务平台,向受害人发送购票信息...
灵西闸大桥项目工程款有谱了:交... 10月13日,交建股份(603815)发布《关于公司涉及仲裁事项的结果公告,披露其与灵璧县交通投资有...
因未回消息,800元商品被平台... 詹志斌认为平台相关规则不合理,表示将起诉闲鱼及涉事买家。 据白鹿新闻报道,当事人詹先生表示自己联...