state=connection.prepareStatement("select*from absent");
时间: 2024-04-06 21:29:14 浏览: 11
这段代码是用来在数据库中执行一条 SQL 查询语句的。具体来说,它准备了一个 PreparedStatement 对象,其中的 SQL 查询语句是"select*from absent",表示查询数据库中的 absent 表的所有列和行。该语句可以通过调用 PreparedStatement 对象的 execute() 方法来执行,从而得到查询结果。
相关问题
逐句解析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` 中。
最后,如果出现异常,则打印异常信息。
逐句分析 public void actionPerformed(ActionEvent e) { if(e.getSource()==submit){ //这就是宿管添加晚归记录的功能 try { PreparedStatement statement = connection.prepareStatement("insert into absent values(?,?,?,?,?)"); statement.setString(1, SnoText.getText()); statement.setString(2, SnameText.getText()); statement.setString(3, DnoText.getText()); statement.setString(4, AtimeText.getText()); statement.setString(5, AreasonText.getText()); statement.executeUpdate(); PreparedStatement state=connection.prepareStatement("select*from absent"); ResultSet resultSet = state.executeQuery(); while(a.getRowCount()>0){//把表格进行刷新,下次显示的时候重头开始显示 a.removeRow(a.getRowCount()-1); }
这是一个 Java 中的方法,名为 actionPerformed,接收一个 ActionEvent 类型的参数 e。该方法的访问权限为 public,表示在程序中任何地方都可以调用它。
在方法内部,通过判断事件源是否为 submit 按钮来执行宿管添加晚归记录的功能。如果是,则创建一个 PreparedStatement 对象,用于向数据库中插入数据,插入的数据包括五个字段的值,分别是 SnoText、SnameText、DnoText、AtimeText、AreasonText 的文本值。插入数据后,再创建一个 PreparedStatement 对象,用于查询数据库中的数据,并将查询结果存储在 ResultSet 对象中。接下来,通过 while 循环遍历表格 a 中的所有行,逐一删除,以便在下次显示时重新加载数据。整个方法的功能是向数据库中添加晚归记录,并刷新表格以显示最新的数据。