处理查询结果集

news/2024/11/29 9:59:59/
package com.bjpowernode.jdbc;import java.sql.*;
/**处理查询结果集 提醒:JDBC中所有的下标都是从1开始的。*/
public class 处理查询结果集 {public static void main(String[] args){Connection conn = null;Statement stmt = null;ResultSet rs = null;try{//1、注册驱动DriverManager.registerDriver(new com.mysql.jdbc.Driver());//2、获取连接conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test","root","******");//3、获取数据库操作对象stmt = conn.createStatement();//4、执行SQL语句String sql = "select empno,ename,sal from emp order by sal desc";//执行查询语句使用的方法是:executeQuery()//ResultSet rs就是查询结果集对象,查询的结果都在这个对象中。rs = stmt.executeQuery(sql);//5、处理查询结果集//目前没有什么好的处理方式,直接将查询结果集中的数据遍历输出/*ResultSet rs对象中有以下数据-----+--------+---------+|  7839 | KING   | 5000.00 ||  7788 | SCOTT  | 3000.00 ||  7902 | FORD   | 3000.00 ||  7566 | JONES  | 2975.00 ||  7698 | BLAKE  | 2850.00 ||  7782 | CLARK  | 2450.00 ||  7499 | ALLEN  | 1600.00 ||  7844 | TURNER | 1500.00 ||  7934 | MILLER | 1300.00 ||  7654 | MARTIN | 1250.00 ||  7521 | WARD   | 1250.00 ||  7876 | ADAMS  | 1100.00 ||  7900 | JAMES  |  950.00 ||  7369 | SMITH  |  800.00 |+-------+--------+---------+*///rs.next()命令是判断在结果集中的下一条记录是否有数据,有数据返回true,无数据返回false。while(rs.next()){ //根据下标来取值,并且不管底层数据库中的数据是什么类型,都是以String类型取出/*String empno = rs.getString(1);String ename = rs.getString(2);String sal = rs.getString(3);System.out.println(empno + "," + ename + "," + sal);*///根据下标来取值,以特定类型取出/*int empno = rs.getInt(1);String ename = rs.getString(2);double sal = rs.getDouble(3);System.out.println(empno + "," + ename + "," + sal);*///根据查询结果的"列名"也可以取出  这里是查询结果的列名,不是源数据库的字段名称//如果select语句中起了别名,那么这里就是那个别名。//以后这种方式是常用的,因为"健壮"。int empno = rs.getInt("empno");String ename = rs.getString("ename");double sal = rs.getDouble("sal");System.out.println(empno + "," + ename + "," + sal);}}catch(SQLException e){e.printStackTrace();}finally{//6、释放资源(需要注意释放的顺序:先rs、再stmt、最后conn)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();}}}}
}

http://www.ppmy.cn/news/18564.html

相关文章

自增id用完怎么办?

MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长。虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限。比如,无符号整型 (unsigned int) 是 4 个字节,上限就是 232-1。 既然自增 id 有上限,就有可能被…

函数——“C”

各位CSDN的uu们新年快乐呀,祝大家越来越开心,越来越优秀。那行,让我们进入今天的正题,来了解了解函数,函数是什么,C语言中函数是如何分类的,函数参数,函数调用等一系列小知识点&…

第十三届蓝桥杯省赛JavaA组 D 题、Java C 组 G 题、Python C 组 G题——GCD(AC)

1.GCD 1.题目描述 给定两个不同的正整数 a,ba,ba,b 求一个正整数 kkk 使得 gcd(ak,bk)gcd(ak,bk)gcd(ak,bk) 尽可能 大,其中 gcd(a,b)gcd(a,b)gcd(a,b) 表示 aaa 和 bbb 的最大公约数,如果存在多个 kkk, 请输出所有满 足条件的 kkk 中最小的那个。 2.输入格式 输…

在甲骨文云容器实例(Container Instances)上部署firefox

甲骨文云推出了容器实例,这是一项无服务器计算服务,可以即时运行容器,而无需管理任何服务器。 今天我们尝试一下通过容器实例部署firefox。 Step1. 创建容器实例 在甲骨文容器实例页面,单击"创建容器实例"&#xff0c…

FPGA 20个例程篇:19.OV7725摄像头实时采集送HDMI显示(三)

第七章 实战项目提升,完善简历 19.OV7725摄像头实时采集送HDMI显示(三) 在详细介绍过OV7725 CMOS Sensor的相关背景知识和如何初始化其内部寄存器达到输出预期视频流的目的后,就到了该例程的核心内容即把OV7725输出的视频流预先缓…

FFmpeg 将多张图片编码成视频

前言 本篇文章的需求是将相机获取到的图片进行编码,编码成一个视频,耗费了大约一个星期的时间在解决各种问题。这里阐述一下这篇文章所要解决的几个问题: 1、如何将多张图片编码成视频。 2、如何进行定时录制视频。 3、同时开启多线程进行视…

【网络安全】WiFi密码爆破教程

WiFi密码爆破教程前言一、什么是暴力破解?二、准备破解工具1.VMware Pro 16 虚拟机安装2. VMware安装Kali Linux3. kali监听无限网卡三、WiFi密码暴力破解1. 虚拟机连接USB网卡2. 扫描附近WiFi3. 查看目标WiFi连接设备4. 抓包5. 破解前言 暴力破解攻击是指攻击者通…

docker-ubuntu

docker psdocker images# 拉取ubuntu镜像 docker pull ubuntu # 启动 docker start podid # 进入bash界面 docker exec -it podid /bin/bash# 安装sudo apt-get install sudo # 更新使配置生效 sudo apt update # 安装vim apt-get install vim# 安装中文包 sudo apt-get instal…