⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editstudent.java

📁 主要是对于JAVA的编程的基本语言 希望能够帮得上你。
💻 JAVA
字号:
package StudentManagement;

import javax.swing.*;

import java.awt.event.*;
import java.awt.*;
import java.sql.*;

public class EditStudent extends JFrame implements ActionListener {

	// 声明部分
	JPanel panel1, panel2, panel3, panel4;
	JLabel lblNumber, lblName, lblSex, lblAge, lblDepartment;
	JTextField txtNumber, txtName, txtSex, txtAge, txtDepartment;
	JButton btnTop, btnPrevious, btnNext, btnBottom, btnExit, btnEdit, btnOK,
			btnCancel;
	Connection conn;
	Statement stmt;
	ResultSet rs;
	int recCount,curRecord; //总记录数,当前记录号
	long curNumber; //当前学号

	// 构造方法
	public EditStudent(String title) {
		super(title);
		initialize();
	}

	private void initialize() {
		// 创建组件
		panel1 = new JPanel();
		panel2 = new JPanel();
		panel3 = new JPanel();
		panel4 = new JPanel();
		lblNumber = new JLabel("学号:");
		lblName = new JLabel("姓名:");
		lblSex = new JLabel("性别:");
		lblAge = new JLabel("年龄:");
		lblDepartment = new JLabel("系名:");
		txtNumber = new JTextField("", 10);
		txtName = new JTextField("", 10);
		txtSex = new JTextField("", 5);
		txtAge = new JTextField("", 5);
		txtDepartment = new JTextField("", 15);
		btnTop = new JButton("第一条[T]");
		btnPrevious = new JButton("上一条[P]");
		btnNext = new JButton("下一条[N]");
		btnBottom = new JButton("最后一条[B]");
		btnExit = new JButton("退出[X]");
		btnEdit = new JButton("编辑[E]");
		btnOK = new JButton("确定[O]");
		btnCancel = new JButton("取消[C]");

		// 添加组件
		this.getContentPane().setLayout(new BorderLayout());
		this.getContentPane().add(panel1, "Center");
		this.getContentPane().add(panel2, "South");

		panel1.setLayout(new GridLayout(5, 2));
		panel1.add(lblNumber);
		panel1.add(txtNumber);
		panel1.add(lblName);
		panel1.add(txtName);
		panel1.add(lblSex);
		panel1.add(txtSex);
		panel1.add(lblAge);
		panel1.add(txtAge);
		panel1.add(lblDepartment);
		panel1.add(txtDepartment);

		panel2.setLayout(new GridLayout(2, 1));
		panel2.add(panel3);
		panel2.add(panel4);

		panel3.add(btnTop);
		panel3.add(btnPrevious);
		panel3.add(btnNext);
		panel3.add(btnBottom);
		panel3.add(btnExit);

		panel4.add(btnEdit);
		panel4.add(btnOK);
		panel4.add(btnCancel);

		// 设置属性
		this.setResizable(false);
		this.pack();
		this.setLocationRelativeTo(null);
		this.setVisible(true);

		txtNumber.setEditable(false);
		txtName.setEditable(false);
		txtSex.setEditable(false);
		txtAge.setEditable(false);
		txtDepartment.setEditable(false);

		btnTop.setMnemonic(KeyEvent.VK_T);
		btnPrevious.setMnemonic(KeyEvent.VK_P);
		btnNext.setMnemonic(KeyEvent.VK_N);
		btnBottom.setMnemonic(KeyEvent.VK_B);
		btnExit.setMnemonic(KeyEvent.VK_X);
		btnEdit.setMnemonic(KeyEvent.VK_E);
		btnOK.setMnemonic(KeyEvent.VK_O);
		btnCancel.setMnemonic(KeyEvent.VK_C);

		btnOK.setEnabled(false);
		btnCancel.setEnabled(false);

		try {
			// 安装驱动程序
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			// 连接数据库
			conn = DriverManager.getConnection("jdbc:odbc:student");
			// 创建SQL语句
			stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
					ResultSet.CONCUR_UPDATABLE);
			// 执行SQL语句获取结果集
			rs = stmt.executeQuery("select * from studentbase");
			// 计算总记录数
			rs.last();
			recCount=rs.getRow();			
			// 显示第一条记录
			rs.first();
			this.setTitle("编辑学生表记录" + " 当前记录:" + rs.getRow());						
			txtNumber.setText(rs.getString("学号"));
			txtName.setText(rs.getString("姓名"));
			txtSex.setText(rs.getString("性别"));
			txtAge.setText(rs.getString("年龄"));
			txtDepartment.setText(rs.getString("系名"));
		} catch (ClassNotFoundException e) {
			JOptionPane.showMessageDialog(null, e.getMessage(), "编辑学生表记录",
					JOptionPane.ERROR_MESSAGE);
		} catch (SQLException e) {
			JOptionPane.showMessageDialog(null, "表中没有记录!", "编辑学生表记录",
					JOptionPane.ERROR_MESSAGE);
			btnTop.setEnabled(false);
			btnPrevious.setEnabled(false);
			btnNext.setEnabled(false);
			btnBottom.setEnabled(false);		
			btnEdit.setEnabled(false);
		}

		// 注册监听器
		btnTop.addActionListener(this);
		btnPrevious.addActionListener(this);
		btnNext.addActionListener(this);
		btnBottom.addActionListener(this);
		btnExit.addActionListener(this);
		btnEdit.addActionListener(this);
		btnOK.addActionListener(this);
		btnCancel.addActionListener(this);
	}

	// 编写事件处理代码
	public void actionPerformed(ActionEvent e) {

		if (e.getSource() == btnTop) {
			try {
				rs.first();
				this.setTitle("编辑学生表记录" + " 当前记录:" + rs.getRow());
				txtNumber.setText(rs.getString("学号"));
				txtName.setText(rs.getString("姓名"));
				txtSex.setText(rs.getString("性别"));
				txtAge.setText(rs.getString("年龄"));
				txtDepartment.setText(rs.getString("系名"));
			} catch (SQLException e1) {									
			}
		} else if (e.getSource() == btnPrevious) {
			try {
				if(rs.getRow()>1){
					rs.previous();
				}else{
					JOptionPane.showMessageDialog(null, "已到第一条记录!", "编辑学生表记录",
							JOptionPane.WARNING_MESSAGE);	
				}
				this.setTitle("编辑学生表记录" + " 当前记录:" + rs.getRow());
				txtNumber.setText(rs.getString("学号"));
				txtName.setText(rs.getString("姓名"));
				txtSex.setText(rs.getString("性别"));
				txtAge.setText(rs.getString("年龄"));
				txtDepartment.setText(rs.getString("系名"));		
			} catch (SQLException e1) {
				//不做错误处理
			}
		} else if (e.getSource() == btnNext) {
			try {	
				if(rs.getRow()<recCount){
					rs.next();				
				}else{
					JOptionPane.showMessageDialog(null, "已到最后一条记录!", "编辑学生表记录",
							JOptionPane.WARNING_MESSAGE);
				}
				this.setTitle("编辑学生表记录" + " 当前记录:" + rs.getRow());
				txtNumber.setText(rs.getString("学号"));
				txtName.setText(rs.getString("姓名"));
				txtSex.setText(rs.getString("性别"));
				txtAge.setText(rs.getString("年龄"));
				txtDepartment.setText(rs.getString("系名"));		
			} catch (SQLException e1) {
				//不做错误处理
			}
		} else if (e.getSource() == btnBottom) {
			try {
				rs.last();
				this.setTitle("编辑学生表记录" + " 当前记录:" + rs.getRow());
				txtNumber.setText(rs.getString("学号"));
				txtName.setText(rs.getString("姓名"));
				txtSex.setText(rs.getString("性别"));
				txtAge.setText(rs.getString("年龄"));
				txtDepartment.setText(rs.getString("系名"));
			} catch (SQLException e1) {				
			}
		} else if (e.getSource() == btnExit) {
			this.dispose();
		} else if (e.getSource() == btnEdit) {
			txtNumber.setEditable(true);
			txtName.setEditable(true);
			txtSex.setEditable(true);
			txtAge.setEditable(true);
			txtDepartment.setEditable(true);
			btnOK.setEnabled(true);
			btnCancel.setEnabled(true);
			btnEdit.setEnabled(false);
			try {
				curRecord=rs.getRow();
				curNumber=Long.parseLong(txtNumber.getText().trim()); 
			} catch (SQLException e1) {						
			}			
		} else if (e.getSource() == btnOK) {			
			//判断学号文本框里输入的是否全是数字
			if(!isNumber(txtNumber.getText().trim())){
				JOptionPane.showMessageDialog(null, "注意:学号全由数字构成!", "增加学生记录",
						JOptionPane.WARNING_MESSAGE);
				txtNumber.setText("");
				txtNumber.requestFocus();
			}else{
				//判断年龄文本框里输入的是否全是数字					
				if(!isNumber(txtAge.getText().trim())){
					JOptionPane.showMessageDialog(null, "注意:年龄全由数字构成!", "增加学生记录",
							JOptionPane.WARNING_MESSAGE);
					txtAge.setText("");
					txtAge.requestFocus();
				}else{					
					String strSQL = "update studentbase set 学号="
						+ Long.parseLong(txtNumber.getText().trim()) + ", 姓名='"
						+ txtName.getText().trim() + "', 年龄="
						+ Integer.parseInt(txtAge.getText().trim()) + ", 性别='"
						+ txtSex.getText().trim() + "', 系名='"
						+ txtDepartment.getText().trim() + "' where 学号=" + curNumber;			
					try {						
						stmt.execute(strSQL);			
						rs = stmt.executeQuery("select * from studentbase");				
						rs.absolute(curRecord);				
						txtNumber.setText(rs.getString("学号"));
						txtName.setText(rs.getString("姓名"));
						txtSex.setText(rs.getString("性别"));
						txtAge.setText(rs.getString("年龄"));
						txtDepartment.setText(rs.getString("系名"));
						JOptionPane.showMessageDialog(null, "记录修改成功!", "编辑学生表记录",
								JOptionPane.INFORMATION_MESSAGE);
						btnOK.setEnabled(false);
						btnCancel.setEnabled(false);
						btnEdit.setEnabled(true);
						txtNumber.setEditable(false);
						txtName.setEditable(false);
						txtSex.setEditable(false);
						txtAge.setEditable(false);
						txtDepartment.setEditable(false);
					} catch (SQLException e1) {				
					}
				}
			}			
		} else if (e.getSource() == btnCancel) {
			btnOK.setEnabled(false);
			btnCancel.setEnabled(false);
			btnEdit.setEnabled(true);
			txtNumber.setEditable(false);
			txtName.setEditable(false);
			txtSex.setEditable(false);
			txtAge.setEditable(false);
			txtDepartment.setEditable(false);
			// 恢复文本框修改前的值			
			try {
				rs.absolute(curRecord);
				txtNumber.setText(rs.getString("学号"));
				txtName.setText(rs.getString("姓名"));
				txtSex.setText(rs.getString("性别"));
				txtAge.setText(rs.getString("年龄"));
				txtDepartment.setText(rs.getString("系名"));				
			} catch (SQLException e1) {							
			}
		}
	}
	
	//判断一个字符串是否全是数字
	boolean isNumber(String str){		
		for(int i=0;i<str.length();i++){
			if(str.charAt(i)<'0' || str.charAt(i)>'9'){
				return false;
			}
		}
		return true;		
	}
	
	//主方法
	public static void main(String[] args) {
		new EditStudent("编辑学生记录");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -