900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 学生管理系统(JAVA版) —— 按学号查询信息页面

学生管理系统(JAVA版) —— 按学号查询信息页面

时间:2018-12-07 07:18:41

相关推荐

学生管理系统(JAVA版) —— 按学号查询信息页面

按学号查询信息页面UI界面如下,当查询到信息时,可在下方显示该生信息,查询不到则显示“查无此人”:

UI界面设计如下:

package ui;import java.awt.Container;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;import javax.swing.JTextField;import daoImp.ClassesDaoImp;import entity.Classes;public class SearchByNum extends JFrame implements ActionListener {JLabel title,number,lbl;JTextField num;JButton dft,cla,rtn;JPanel line,line1,line2,line3;public SearchByNum() {// TODO Auto-generated constructor stubContainer con=getContentPane();con.setLayout(new GridLayout(4,1));line=new JPanel();line1=new JPanel();line2=new JPanel();line3=new JPanel();title=new JLabel("学生管理系统");title.setFont(new Font("黑体", Font.PLAIN, 20));number=new JLabel("学号:");lbl=new JLabel();lbl.setFont(new Font("宋体", Font.PLAIN, 15));num=new JTextField(10);dft=new JButton("确定");dft.addActionListener(this);cla=new JButton("清空");cla.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubnum.setText("");lbl.setText("");}});rtn=new JButton("返回");rtn.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubsetVisible(false);new Search().setVisible(true);}});line.add(title);line1.add(number);line1.add(num);line2.add(lbl);line3.add(dft);line3.add(cla);line3.add(rtn);con.add(line);con.add(line1);con.add(line2);con.add(line3);setTitle("按学号查询学生信息");setSize(400,200);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubClassesDaoImp cdi=new ClassesDaoImp();//实例化一个Classes对象,用来接收查询结果Classes cs=new Classes();if(cdi.SearchByNum(num.getText())!=null) {cs=cdi.SearchByNum(num.getText());lbl.setText("学号:"+cs.getNum()+" 姓名:"+cs.getName()+" 教师:"+cs.getTeacher());}else {lbl.setText("查无此人");}}}

重写ClassesDaoImp类的按学号查询方法,实现查询功能:

package daoImp;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import java.util.List;import dao.classesDao;import db.DBCon;import entity.Classes;public class ClassesDaoImp implements classesDao {Connection cn;PreparedStatement psm=null;private ResultSet rs;@Overridepublic boolean add(Classes classes) throws SQLException {// TODO Auto-generated method stub//。。。。。。return flag;}@Overridepublic boolean delete(String num) {// TODO Auto-generated method stub//。。。。。。return flag;}@Overridepublic boolean update(Classes classes) {// TODO Auto-generated method stub//。。。。。。return flag;}@Overridepublic Classes SearchByNum(String num) {// TODO Auto-generated method stubDBCon dbcon=new DBCon();cn=dbcon.getConnection();Classes cs=new Classes();String sql="select * from classes where num=?";try {psm=cn.prepareStatement(sql);psm.setString(1, num);rs=psm.executeQuery();if(rs.next()) {//将rs返回的的值值赋给cs对象cs.setNum(rs.getString(2));//2表示索引值,是rs指针指向的行的第二个值cs.setName(rs.getString("name"));//利用列名读取数据cs.setTeacher(rs.getString(4));return cs;}psm.close();cn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return null;}@Overridepublic List<Classes> sreachByTeacher(String teacher) {// TODO Auto-generated method stubreturn null;}}

PS:

1.执行产生单个结果集的sql语句(如SELECT语句)使用executeQuery()方法

2.executeQuery()返回ResultSet对象,且ResultSet对象一次只读取一个数据行,需要使用next()方法指向下一行再继续读取操作。对于每一行数据,可以使用索引或列名获取字段值

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。