try { sno=SnoText.getText(); sname=SnameText.getText(); ssex=SsexText.getText(); sclassroom=SclassroomText.getText();
时间: 2024-04-01 22:31:35 浏览: 94
这段代码是获取用户输入的学生信息,并将其存储在相应的变量中。
程序首先通过getText()方法从SnoText、SnameText、SsexText和SclassroomText这四个文本框中获取用户输入的学号、姓名、性别和班级信息,并将它们分别存储在sno、sname、ssex和sclassroom四个字符串类型的变量中。
这段代码通常用在Java GUI程序的事件处理方法中,用于获取用户输入的数据,并进行后续的处理,比如将数据写入数据库中。
相关问题
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 对象,用于管理表格中的数据。
逐句解析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` 中。
最后,如果出现异常,则打印异常信息。
阅读全文