package SJKDZY;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
/**学生信息(学生)
* @author xl
* @create 2022-10-08 14:10
*/
public class StudentManagement extends JPanel implements ActionListener {
Connection connection = new GetConnection().GetConnection();
Users users;//当前用户
int type;//用户类型
String Dno="";//宿舍号
JTable table=new JTable();
String[] col = { "学号", "姓名","性别","学院","年级","电话","年龄" };
DefaultTableModel mm = new DefaultTableModel(col, 0); // 定义一个表的模板
JLabel Sno,Sname,Ssex,Sdept,Grade,Phone,Age;
JTextField SnoText,SnameText,SsexText,SdeptText,GradeText,PhoneText,AgeText;
JButton submit,submit1,submit2,submit3;
JPanel suguan;
public StudentManagement(Users users, int type){//从登录界面传回,用户名和用户类型
this.type=type;
this.users=users;
setLayout(new FlowLayout());
table.setModel(mm);
table.setRowSorter(new TableRowSorter<>(mm));//排序
JPanel jPanel=new JPanel(new FlowLayout());
JScrollPane js=new JScrollPane(table);
jPanel.add(js);
add(jPanel);
search();
}
private void search(){
PreparedStatement state;
ResultSet resultSet;
if(type==1){//如果是学生,只显示学生自己的信息
try {
// inquire();
String select="select Dno from student where Sname"+"="+"'"+users.getName()+"'";
state=connection.prepareStatement(select);
resultSet=state.executeQuery();
while (resultSet.next()){
Dno=resultSet.getString("Dno");
}
System.out.println(users.getName()+users.getName().length());
select="select*from student where Dno"+"="+"'"+Dno+"'";
state=connection.prepareStatement(select);
resultSet = state.executeQuery();
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 Scheckin=resultSet.getString(6);
String[] data={Sno,Sname,Ssex,Sdept,Dno,Scheckin};
mm.addRow(data);
}
} catch (SQLException e) {
e.printStackTrace();
}
}else if(type==2){//如果是宿管,则显示全部学生的信息
try {
xiugai();
state=connection.prepareStatement("select *from student");
resultSet = state.executeQuery();
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 Scheckin=resultSet.getString(6);
String Age=resultSet.getString(7);
String[] data={Sno,Sname,Ssex,Sdept,Dno,Scheckin,Age};
mm.addRow(data);
}
}catch (Exception e){
e.printStackTrace();
}
}
}
/*private void inquire(){//学生只能查询任意宿舍的电话
suse=new JLabel("宿舍号");
suseText=new JTextField(10);
submit=new JButton("查询");
submit.addActionListener(this);
suguan=new JPanel(new GridLayout(2, 2));
suguan.add(suse);suguan.add(suseText);suguan.add(submit);
add(suguan);
}*/
private void xiugai(){//宿管修改学生的宿舍信息
Sno=new JLabel("学号");
Sname=new JLabel("姓名");
SnoText=new JTextField(10);
SnameText=new JTextField(10);
Ssex=new JLabel("性别");
Sdept=new JLabel("学院");
Grade=new JLabel("年级");
Phone=new JLabel("电话");
Age=new JLabel("年龄");
SsexText=new JTextField(10);
SdeptText=new JTextField(10);
GradeText=new JTextField(10);
PhoneText=new JTextField(10);
AgeText=new JTextField(10);
suguan=new JPanel(new GridLayout(14, 2));
submit=new JButton("提交");
submit.addActionListener(this);
submit1=new JButton("删除");
submit1.addActionListener(this);
submit2=new JButton("修改");
submit2.addActionListener(this);
submit3=new JButton("查询");
submit3.addActionListener(this);
suguan.add(Sno);suguan.add(SnoText);
suguan.add(Sname);suguan.add(SnameText);
suguan.add(Ssex);suguan.add(SsexText);
suguan.add(Sdept);suguan.add(SdeptText);
suguan.add(Grade);suguan.add(GradeText);
suguan.add(Phone);suguan.add(PhoneText);
suguan.add(Age);suguan.add(AgeText);
add(suguan);
suguan.add(submit);
suguan.add(submit1);
suguan.add(submit2);
suguan.add(submit3);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource()==submit2&&type==2){//如果点击按钮的是宿管
try {
if (SnoText.getText().length()>0){//只修改学号外的其他信息
PreparedStatement state;
ResultSet resultSet;
state=connection.prepareStatement("select Sno from student " + "where Sno" + "=" + "'" + SnoText.getText() + "'");
resultSet = state.executeQuery();
String Sno1=null;//判断剩余床位是否为0
while (resultSet.next()){
Sno1= resultSet.getString("Sno");
}
if(Sno1!=null)
{
if(SnameText.getText().length()>0) {//修改姓名
Statement statement = connection.createStatement();
String sql = "update student set Sname=" + "'" + SnameText.getText() + "'" + "where Sno" + "=" + "'" + SnoText.getText() + "'";
statement.executeUpdate(sql);
state = connection.prepareStatement("select *from student");
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 Scheckin=resultSet.getString(6);
String Age=resultSet.getString(7);
String[] data={Sno,Sname,Ssex,Sdept,Dno,Scheckin,Age};
mm.addRow(data);
}
}
if(SsexText.getText().length()>0) {//修改性别
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
内容概要: 学生宿舍管理系统是一款旨在规范学生宿舍管理、提升管理效率的软件解决方案。该系统主要管理宿舍信息、学生信息和住宿信息,同时支持寝室分配、学生信息录入查询、住宿信息查询等功能,并可选择性包含学生出入登记功能。该系统通过数据库技术实现数据的存储和查询,确保数据的准确性和安全性。 适用人群: 学校宿舍管理人员:系统提供全面的宿舍信息管理功能,帮助他们更好地规划和管理学生宿舍资源,提升宿舍管理的效率和水平。 学生:学生可以通过系统查询自己的住宿信息,包括寝室编号、床位号等,方便他们快速找到自己的住宿位置。同时,学生也可以查询其他同学的住宿信息,便于社交和交流。 使用情景: 新生入学时:宿舍管理人员可以根据新生的院系、年级等信息,为他们分配寝室,并录入学生的基本信息。学生可以通过系统查询自己的住宿信息,并了解宿舍的相关规定和管理制度。 日常管理中:宿舍管理人员可以通过系统对宿舍信息进行维护和管理,包括更新寝室状态、调整床位等。同时,他们也可以根据学生的入
资源推荐
资源详情
资源评论
收起资源包目录
SJKDZY.rar (12个子文件)
DZY1.sql 1KB
SJKDZY
StudentManagement.java 25KB
login.java 5KB
CheckUsers.java 1KB
AccommodationManagement.java 15KB
GetConnection.java 706B
DormitoryInfo.java 24KB
DormitoryAssignment.java 15KB
Users.java 621B
Later.java 5KB
AccessRegistration.java 13KB
InformationQuery.java 10KB
共 12 条
- 1
资源评论
-Initiation
- 粉丝: 201
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功