/*while (resultSet.next()){ String Sno=resultSet.getString(1); String Sname=resultSet.getString(2); String Dno=resultSet.getString(3); String Atime=resultSet.getString(4); String Areason=resultSet.getString(5); String[] data={Sno,Sname,Dno,Atime,Areason}; mm.addRow(data); }*/

时间: 2024-02-14 17:23:53 浏览: 23
这段代码是一个注释,被 /* 和 */ 包裹起来了,因此不会被编译器执行。它是用来说明如何从 ResultSet 对象中获取查询结果的具体数据的。 在这个例子中,通过 resultSet.getString() 方法,可以获取每一行数据中的各个列的值。例如,resultSet.getString(1) 表示获取当前行的第一个列的值,也就是学号(Sno)的值;resultSet.getString(2) 表示获取当前行的第二个列的值,也就是学生姓名(Sname)的值,以此类推。 接着,将这些列的值存储到一个 String 类型的数组 data 中,然后将该数组添加到一个表格模型(mm)中,以便在 GUI 界面上显示查询结果。
相关问题

逐句解析private void search(){ PreparedStatement state; ResultSet resultSet; if(type==1){ try { state=connection.prepareStatement("select * from absent where Sname"+"="+"'"+user.getName()+"'"); //这里不好 因为名字可以一样 以后要改 resultSet = state.executeQuery(); while (resultSet.next()){ String Sno=resultSet.getString(1); String Sname=resultSet.getString(2); String Dno=resultSet.getString(3); String Atime=resultSet.getString(4); String Areason=resultSet.getString(5); String[] data={Sno,Sname,Dno,Atime,Areason}; a.addRow(data); } } catch (SQLException e) { e.printStackTrace(); } } if(type==2||type==3){ try { record(); state=connection.prepareStatement("select*from absent"); resultSet = state.executeQuery(); while (resultSet.next()){ String Sno=resultSet.getString(1); String Sname=resultSet.getString(2); String Dno=resultSet.getString(3); String Atime=resultSet.getString(4); String Areason=resultSet.getString(5); String[] data={Sno,Sname,Dno,Atime,Areason}; a.addRow(data); } }catch (Exception e){ e.printStackTrace(); } } }

这段代码定义了一个私有的方法 `search()`,该方法没有参数。 在方法中,首先声明了三个变量 `state`、`resultSet` 和 `data`,类型分别为 `PreparedStatement`、`ResultSet` 和 `String[]`。 然后,通过判断变量 `type` 的值,来确定执行哪一段代码。如果 `type` 的值为 1,那么执行以下代码块: ```java state = connection.prepareStatement("select * from absent where Sname"+"="+"'"+user.getName()+"'"); resultSet = state.executeQuery(); while (resultSet.next()){ String Sno=resultSet.getString(1); String Sname=resultSet.getString(2); String Dno=resultSet.getString(3); String Atime=resultSet.getString(4); String Areason=resultSet.getString(5); String[] data={Sno,Sname,Dno,Atime,Areason}; a.addRow(data); } ``` 这段代码的作用是从数据库中查询名字为 `user.getName()` 的记录,并将查询结果添加到 `data` 中。 如果 `type` 的值为 2 或 3,那么先调用 `record()` 方法,然后执行以下代码块: ```java state = connection.prepareStatement("select*from absent"); resultSet = state.executeQuery(); while (resultSet.next()){ String Sno=resultSet.getString(1); String Sname=resultSet.getString(2); String Dno=resultSet.getString(3); String Atime=resultSet.getString(4); String Areason=resultSet.getString(5); String[] data={Sno,Sname,Dno,Atime,Areason}; a.addRow(data); } ``` 这段代码的作用是从数据库中查询所有记录,并将查询结果添加到 `data` 中。 最后,如果出现异常,则打印异常信息。

if (SnoText.getText().length()==0&&SnameText.getText().length()>0&&SdeptText.getText().length()==0) { Statement statement = connection.createStatement(); String sql = "update ade set name=" + "'" + SnameText.getText() + "'" + "where remark" + "=" + "'" + DnoText.getText() + "'"; statement.executeUpdate(sql); PreparedStatement state; ResultSet resultSet; state = connection.prepareStatement("select *from ade"); resultSet = state.executeQuery(); while (mm.getRowCount() > 0) {//把表格进行刷新,下次显示的时候重头开始显示 //System.out.println(model.getRowCount()); mm.removeRow(mm.getRowCount() - 1); } while (resultSet.next()) {//把更新后的数据重新显示到表格中,下同 String Sno=resultSet.getString(1); String Sname=resultSet.getString(2); String Ssex=resultSet.getString(3); String Sdept=resultSet.getString(4); String Dno=resultSet.getString(5); String[] data={Sno,Sname,Ssex,Sdept,Dno}; mm.addRow(data); } }对这段代码进行详细注释

这段代码是一个Java程序中的一部分,主要用于更新数据库中的数据,并在更新后重新显示到表格中。以下是对代码的详细注释: ``` if (SnoText.getText().length()==0&&SnameText.getText().length()>0&&SdeptText.getText().length()==0) { // 判断输入框中的文本是否符合要求 Statement statement = connection.createStatement(); // 创建一个 Statement 对象 String sql = "update ade set name=" + "'" + SnameText.getText() + "'" + "where remark" + "=" + "'" + DnoText.getText() + "'"; // 创建 SQL 语句 statement.executeUpdate(sql); // 执行 SQL 语句 PreparedStatement state; // 创建一个 PreparedStatement 对象 ResultSet resultSet; // 创建一个 ResultSet 对象 state = connection.prepareStatement("select *from ade"); // 创建 SQL 查询语句 resultSet = state.executeQuery(); // 执行 SQL 查询语句 while (mm.getRowCount() > 0) { // 清空表格,下次显示的时候重头开始显示 mm.removeRow(mm.getRowCount() - 1); } while (resultSet.next()) { // 把更新后的数据重新显示到表格中 String Sno=resultSet.getString(1); // 获取查询结果中第一个字段的值 String Sname=resultSet.getString(2); // 获取查询结果中第二个字段的值 String Ssex=resultSet.getString(3); // 获取查询结果中第三个字段的值 String Sdept=resultSet.getString(4); // 获取查询结果中第四个字段的值 String Dno=resultSet.getString(5); // 获取查询结果中第五个字段的值 String[] data={Sno,Sname,Ssex,Sdept,Dno}; // 将查询结果封装到一个数组中 mm.addRow(data); // 将数组中的数据添加到表格中 } } ``` 这段代码主要涉及到了以下几个方面: 1. 判断输入框中的文本是否符合要求,满足要求才能执行更新操作。 2. 创建一个 Statement 对象,并使用 SQL 语句更新数据库中的数据。 3. 创建一个 PreparedStatement 对象,并使用 SQL 查询语句查询数据库中的数据。 4. 清空表格,将查询结果重新显示到表格中。 在此代码中,`SnoText`、`SnameText` 和 `SdeptText` 分别表示输入框中的三个文本框,`connection` 表示数据库连接对象,`mm` 是一个 DefaultTableModel 对象,用于管理表格中的数据。

相关推荐

最新推荐

recommend-type

pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

pre_o_1csdn63m9a1bs0e1rr51niuu33e.a
recommend-type

matlab建立计算力学课程的笔记和文件.zip

matlab建立计算力学课程的笔记和文件.zip
recommend-type

FT-Prog-v3.12.38.643-FTD USB 工作模式设定及eprom读写

FT_Prog_v3.12.38.643--FTD USB 工作模式设定及eprom读写
recommend-type

matlab基于RRT和人工势场法混合算法的路径规划.zip

matlab基于RRT和人工势场法混合算法的路径规划.zip
recommend-type

matlab基于matlab的两步定位软件定义接收机的开源GNSS直接位置估计插件模块.zip

matlab基于matlab的两步定位软件定义接收机的开源GNSS直接位置估计插件模块.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

2. 通过python绘制y=e-xsin(2πx)图像

可以使用matplotlib库来绘制这个函数的图像。以下是一段示例代码: ```python import numpy as np import matplotlib.pyplot as plt def func(x): return np.exp(-x) * np.sin(2 * np.pi * x) x = np.linspace(0, 5, 500) y = func(x) plt.plot(x, y) plt.xlabel('x') plt.ylabel('y') plt.title('y = e^{-x} sin(2πx)') plt.show() ``` 运行这段
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。