学生管理系统.docx

上传人:苏美尔 文档编号:7220265 上传时间:2020-11-07 格式:DOCX 页数:14 大小:70.91KB
返回 下载 相关 举报
学生管理系统.docx_第1页
第1页 / 共14页
学生管理系统.docx_第2页
第2页 / 共14页
学生管理系统.docx_第3页
第3页 / 共14页
学生管理系统.docx_第4页
第4页 / 共14页
学生管理系统.docx_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《学生管理系统.docx》由会员分享,可在线阅读,更多相关《学生管理系统.docx(14页珍藏版)》请在三一文库上搜索。

1、package students;import javax.swing.JPanel;import javax.swing.UIManager;import javax.swing.table.AbstractTableModel;import java.awt.*;import java.awt.event.*;import java.lang.*;import java.lang.Object.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.event.*;import javax

2、.swing.table.*;public class StuAddQuerySysApp private boolean packFrame=false;public StuAddQuerySysApp()StuAddQuerySysFrame frame=new StuAddQuerySysFrame(); if(packFrame)frame.pack();elseframe.validate();Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize=frame.getS

3、ize(); if(frameSize.heightscreenSize.height)frameSize.height=screenSize.height-100;if(frameSize.widthscreenSize.width)frameSize.width=screenSize.width;frame.setLocation(screenSize.width-frameSize.width)/2, (screenSize.height-frameSize.height)/2);frame.setVisible(true);public static void main(String

4、args)tryUIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClasscatch(Exception e)e.printStackTrace();new StuAddQuerySysApp();class StuAddQuerySysFrame extends JFrame private JPanel contentPane;private FlowLayout xYLayout1=new FlowLayout(); /构造XYLayout布局管理器/创建显示信息使用的组件private Label label1=new La

5、bel();private TextField stunumField=new TextField(10); private TextField nameField=new TextField(15); private Label label2=new Label();private TextField ageField=new TextField(8); private Label label3=new Label();private TextField sexField=new TextField(8); private Label label4=new Label();private T

6、extField departmentField=new TextField(18); private Label label5=new Label();private TextField teleField=new TextField(12); private Label label6=new Label();private TextField emailField=new TextField(18); private Label label7=new Label();private Button addrecordButton=new Button(); private Button de

7、leteButton=new Button(); private Button refreshButton=new Button(); private Button stunumqueryButton=new Button(); private Button allrecordButton=new Button();Vector vector;/声明一个向量对象/二维表列名String title=学号,姓名,年龄,性别,系名,电话,email地址;Connection connection=null; /声明Connertion接口对象connectionResultSet rSet=nul

8、l;/定义数据库查询结果集Statement statement=null;/定义数据库的Statement对象AbstractTableModel tm;public StuAddQuerySysFrame() enableEvents(AWTEvent.WINDOW_EVENT_MASK); tryjbInit();catch(Exception e)e.printStackTrace();private void jbInit() throws ExceptioncontentPane=(JPanel) this.getContentPane(); /初始化组件label1.setTex

9、t(学号);contentPane.setLayout(xYLayout1);/设置容器的布局管理器对象this.setSize(new Dimension(550,350); /设置容器窗口的大小this.setTitle(学生地址表查询系统);label2.setText(姓名); label3.setText(年龄); label4.setText(性别); label5.setText(系别); label6.setText(电话); label7.setText(email地址); addrecordButton.setLabel(添加); deleteButton.setLabel

10、(删除); refreshButton.setLabel(更新); stunumqueryButton.setLabel(学号查询); allrecordButton.setLabel(全部记录); addrecordButton.addActionListener(newjava.awt.event.ActionListener()public void actionPerformed(ActionEvent e) addrecordButton_actionPerfromed(e););deleteButton.addActionListener(new java.awt.event.Ac

11、tionListener()public void actionPerformed(ActionEvent e) refreshButton_actionPerformed(e););stunumqueryButton.addActionListener(newjava.awt.event.ActionListener()public void actionPerformed(ActionEvent e) stunumqueryButton_actionPerformed(e););allrecordButton.addActionListener(newjava.awt.event.Acti

12、onListener()public void actionPerformed(ActionEvent e) allrecordButton_actionPerformed(e););contentPane.add(label1); /在容器中添加组件对象contentPane.add(stunumField);contentPane.add(label2);contentPane.add(nameField);contentPane.add(label3);contentPane.add(ageField);contentPane.add(label4);contentPane.add(se

13、xField);contentPane.add(label5);contentPane.add(departmentField);contentPane.add(label6);contentPane.add(teleField);contentPane.add(label7);contentPane.add(emailField);contentPane.add(addrecordButton);contentPane.add(deleteButton);contentPane.add(refreshButton);contentPane.add(allrecordButton);creat

14、etable();/在初始化函数中调用createtable()函数显示表格void createtable()JTable table;/声明一个JTable类对象tableJScrollPane scroll;vector=new Vector();tm=new AbstractTableModel()public int getColumnCount()return title.length;public int getRowCount()return vector.size();public Object getValueAt(int row,int column) if(!vecto

15、r.isEmpty()return(Vector)vector.elementAt(row).elementAt(column);elsereturn null;public void setValueAt(Object value,int row,int column)/数据模型不可编辑,该方法设置为空public String getColumnName(int column) return titlecolumn;public Class getColumnClass(int c)return getValueAt(0,c).getClass();public boolean isCel

16、lEditable(int row,int column) /设置单元格不可编辑,为默认实现return false;table=new JTable(tm);table.setToolTipText(Display Query Result);table.setAutoResizeMode(table.AUTO_RESIZE_OFF);table.setCellSelectionEnabled(false);table.setShowHorizontalLines(true); table.setShowVerticalLines(true); scroll=new JScrollPane(

17、table); scroll.setPreferredSize(new Dimension(530,200); contentPane.add(scroll);protected void proessWindowEvent(WindowEvent e) super.processWindowEvent(e); if(e.getID()=WindowEvent.WINDOW_CLOSING)System.exit(0);void addrecordButton_actionPerfromed(ActionEvent e) tryClass.forName(sum.jdbc.JdbcOdbcDr

18、iver); /实例化JDBC-ODBC桥的驱动String url=jdbc:odbc:student; connection=DriverManager.getConnection(url); statement=connection.createStatement();String sql1=insert int stdentbase (学号,姓名,年龄,性别,系别) values(+Integer.parseInt(stunumField.getText()+,+nameField.getText()+String sql2=insert int stdentbase (电话,emai

19、l,地址,学号) values (+teleField.getText()+,+emailField.getText()+,+Integer.parseInt(stunustatement.executeUpdate(sql2);statement.executeUpdate(sql1);stunumField.setText();nameField.setText();ageField.setText();sexField.setText();departmentField.setText();teleField.setText();emailField.setText();catch(SQ

20、LException ex)System.out.println(nERROR:- SQLException -n);while(ex!=null)System.out.println(Message:+ex.getMessage();System.out.println(SQLState: +ex.getSQLState(); System.out.println(ErrorCode: +ex.getErrorCode(); ex=ex.getNextException();catch(Exception ex)ex.printStackTrace();finallytryif(statem

21、ent!=null)statement.close();if(connection!=null)connection.close();catch(SQLException ex)System.out.println(nERROR:- SQLException -n);System.out.println(Message:+ex.getMessage();System.out.println(SQLState:+ex.getSQLState();System.out.println(ErrorCode:+ex.getErrorCode();void deleteButton_actionPerf

22、ormed(ActionEvent e) tryClass.forName(sum.jdbc.JdbcOdbcDriver); /实例化JDBC-ODBC桥的驱动String url=jdbc:odbc:student;connection=DriverManager.getConnection(url);statement=connection.createStatement(ResultSet.TYPE_SCROLL_SENString sql=select*from studentbase where 学号 =+Integer.parseInt(stunumField.getText()

23、+ ;rSet=statement.executeQuery(sql);/执行学号为输入学号的查询语句if(rSet.next()=false)JOptionPane msg=new JOptionPane();JOptionPane.showMessageDialog(StuAddQuerySysFrame.this,数据库中没有您删除的学号,数据库中没有您删除的学号!,1);elseString sql1=delete from studentbase where 学号 =+Integer.parseInt(stunumField.getText()+ ;statement.execute

24、Update(sql1);String sql2=delete from studentbase where 学号=+Integer.parseInt(stunumField.getText()+ ;statement.executeUpdate(sql2);stunumField.setText();nameField.setText();ageField.setText();sexField.setText();departmentField.setText();teleField.setText();emailField.setText();catch(SQLException ex)S

25、ystem.out.println(nERROR:- SQLException -n);while(ex!=null)System.out.println(Message:+ex.getMessage();System.out.println(SQLState:+ex.getSQLState();System.out.println(ErrorCode:+ex.getErrorCode();ex=ex.getNextException();catch(Exception ex)ex.printStackTrace();finallytryif(statement!=null)statement

26、.close();if(connection!=null)connection.close();catch(SQLException ex)System.out.println(nERROR:- SQLException -n);System.out.println(Message:+ex.getMessage();System.out.println(SQLState:+ex.getSQLState();System.out.println(ErrorCode:+ex.getErrorCode();void refreshButton_actionPerformed(ActionEvent

27、e) tryClass.forName(sum.jdbc.JdbcOdbcDriver); /实例化JDBC-ODBC桥的驱动String url=jdbc:odbc:student; connection=DriverManager.getConnection(url); statement=connection.createStatement();String sql1=Update studentbase set 姓名=+nameField.getText()+,年龄=+Integer.parseInt(ageField.getText()+ ,性别=,+sexField.getText

28、()+,系别=+departmentField.getText()+ where 学号 =+Integer.parseInt(stunumField.getText()+ ;String sql2=Update studentbase set 电话=+teleField.getText()+,email地址=+emailField.getText()+ where 学号 =+Integer.parseInt(stunumField.getText()+ ;statement.executeUpdate(sql2);stunumField.setText();nameField.setText(

29、);ageField.setText();sexField.setText();departmentField.setText();teleField.setText();emailField.setText();catch(SQLException ex)System.out.println(nERROR:- SQLException -n);while(ex!=null)System.out.println(Message:+ex.getMessage();System.out.println(SQLState:+ex.getSQLState();System.out.println(Er

30、rorCode:+ex.getErrorCode();ex=ex.getNextException();catch(Exception ex)ex.printStackTrace();finallytryif(statement!=null)statement.close();if(connection!=null)connection.close();catch(SQLException ex)System.out.println(nERROR:- SQLException -n);System.out.println(Message:+ex.getMessage();System.out.

31、println(SQLState:+ex.getSQLState();System.out.println(ErrorCode:+ex.getErrorCode();void stunumqueryButton_actionPerformed(ActionEvent e) tryClass.forName(sum.jdbc.JdbcOdbcDriver); /实例化JDBC-ODBC桥的驱动String url=jdbc:odbc:student;connection=DriverManager.getConnection(url);statement=connection.createSta

32、tement(ResultSet.TYPE_SCROLL_SENString sql=select*from studentbase where 学号 =+Integer.parseInt(stunumField.getText();rSet=statement.executeQuery(sql);/执行学号为输入学号的查询语句if(rSet.next()=false)JOptionPane msg=new JOptionPane();JOptionPane.showMessageDialog(StuAddQuerySysFrame.this,数据库中没有您查询的学号,数据库中没有您查询的学号

33、!,1);elsesql=select studentbase.学号,姓名,年龄,性别,系别,电话,email 地址 from studentbase inner join studentaddress on (studentbase.学号=studentaddress.学号) where studentbase.学号 =+Integer.parseInt(stunumField.getText()+ ;ResultSet rs=statement.executeQuery(sql); stunumField.setText(); vector.removeAllElements(); tm.

34、fireTableStructureChanged(); while(rs.next()Vector rec_vector=new Vector();rec_vector.addElement(String.valueOf(rs.getInt(1);rec_vector.addElement(rs.getString(2);rec_vector.addElement(String.valueOf(rs.getInt(3);rec_vector.addElement(rs.getString(4);rec_vector.addElement(rs.getString(5);rec_vector.

35、addElement(rs.getString(6);rec_vector.addElement(rs.getString(7);vector.addElement(rec_vector);tm.fireTableStructureChanged();catch(SQLException ex)System.out.println(nERROR:- SQLException -n);while(ex!=null)System.out.println(Message:+ex.getMessage();System.out.println(SQLState:+ex.getSQLState();Sy

36、stem.out.println(ErrorCode:+ex.getErrorCode();ex=ex.getNextException();catch(Exception ex)ex.printStackTrace();finallytryif(statement!=null)statement.close();if(connection!=null)connection.close();catch(SQLException ex)System.out.println(nERROR:- SQLException -n);System.out.println(Message:+ex.getMe

37、ssage();System.out.println(SQLState:+ex.getSQLState();System.out.println(ErrorCode:+ex.getErrorCode();void allrecordButton_actionPerformed(ActionEvent e) tryClass.forName(sum.jdbc.JdbcOdbcDriver); /实例化JDBC-ODBC桥的驱动String url=jdbc:odbc:student;connection=DriverManager.getConnection(url);statement=con

38、nection.createStatement(ResultSet.TYPE_SCROLL_SENStringsql=selectstudentbase.学号,姓名,年龄,性别,系别,电话,email地址fromstudentbaseinnerjoinstudentaddresson(studentbase.学号=studentaddress.学号) where studentbase.学号 =+Integer.parseInt(stunumField.getText()+ ;rSet=statement.executeQuery(sql);vector.removeAllElements()

39、;tm.fireTableStructureChanged();while(rSet.next()Vector rec_vector=new Vector();rec_vector.addElement(String.valueOf(rSet.getInt(1);rec_vector.addElement(rSet.getString(2);rec_vector.addElement(String.valueOf(rSet.getInt(3);rec_vector.addElement(rSet.getString(4);rec_vector.addElement(rSet.getString

40、(5);rec_vector.addElement(rSet.getString(6);rec_vector.addElement(rSet.getString(7);vector.addElement(rec_vector);tm.fireTableStructureChanged();catch(SQLException ex)System.out.println(nERROR:- SQLException -n);while(ex!=null)System.out.println(Message:+ex.getMessage();System.out.println(SQLState:+

41、ex.getSQLState();System.out.println(ErrorCode:+ex.getErrorCode();ex=ex.getNextException();catch(Exception ex)ex.printStackTrace();finallytryif(statement!=null)statement.close();if(connection!=null)connection.close();catch(SQLException ex)System.out.println(nERROR:- SQLException -n);System.out.println(Message:+ex.getMessage();System.out.println(SQLState:+ex.getSQLState();System.out.println(ErrorCode:+ex.getErrorCode();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1