logo资料库

java 信息管理系统.docx

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
/*使用前请先建一个数据库放在同一个文件夹下,名为 学生管理数据库.mdb *然后建两张表名称分别为: 学生信息表 和 管理员 *学生信息表 的字段有:"学号","姓名","性别","民族","年龄","年级","班级","专业" 其中" 性别"为数值型其它为字符型 *管理员 */ 的字段有:"用户名" 和 "密码" , 并且添加一条记录 :admin,admin import java.awt.*; import javax.swing.*; import java.awt.event.*; import javax.swing.border.*; import javax.swing.JOptionPane; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.table.DefaultTableModel; import javax.swing.table.TableColumn; import java.sql.*; import java.awt.GridLayout; public class myStudent { public myStudent() { } public static void main(String[] args) { // TODO code application logic here loginFrame lf=new loginFrame(); lf.setVisible(true); lf.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.exit(0); } }); } } //主界面 class mainFrame extends JFrame implements MenuBar myMenuBar=new MenuBar(); ActionListener{
Menu myMenuFile,myMenuEdit,myMenuUser,myMenuAbout; MenuItem miNew,miOpen,miSave,miSaveAs,miExit; MenuItem miAdd,miEdit,miDel,miFind,miShow,miUser,miAbout; public JTable table = new JTable(); public DefaultTableModel mm ; public mainFrame(){ myMenuFile=new Menu("文件"); miNew=new MenuItem("新建"); miOpen=new MenuItem("打开"); miSave=new MenuItem("保存"); miExit=new MenuItem("退出"); //miNew.enable(false); //miOpen.enable(false); //miSave.enable(false); //myMenuFile.add(miNew); //myMenuFile.add(miOpen); //myMenuFile.add(miSave); myMenuFile.add(miExit); myMenuEdit=new Menu("数据编辑"); miFind=new MenuItem("查找数据"); miAdd=new MenuItem("添加数据"); miEdit=new MenuItem("修改数据"); miDel=new MenuItem("删除数据"); miShow=new MenuItem("全部显示"); myMenuEdit.add(miFind); myMenuEdit.add(miAdd); myMenuEdit.add(miEdit); myMenuEdit.add(miDel); myMenuEdit.add(miShow); myMenuUser=new Menu("用户"); miUser=new MenuItem("编辑用户"); myMenuUser.add(miUser); myMenuAbout=new Menu("我的作业"); miAbout=new MenuItem("作业说明"); myMenuAbout.add(miAbout); myMenuBar.add(myMenuFile); myMenuBar.add(myMenuEdit); myMenuBar.add(myMenuUser);
myMenuBar.add(myMenuAbout); String[] col = {"学号","姓名","性别","民族","年龄","年级","班级","专业"};//创建属性 列名 mm= new DefaultTableModel(col,0); table.setModel(mm); JScrollPane tableScrollPane = new JScrollPane(table); this.setMenuBar(myMenuBar); this.add(tableScrollPane); miExit.addActionListener(this); miFind.addActionListener(this); miAdd.addActionListener(this); miEdit.addActionListener(this); miDel.addActionListener(this); miShow.addActionListener(this); miUser.addActionListener(this); miAbout.addActionListener(this); } public void freshTable(String sql){ myConnection conn=new myConnection(); ResultSet rs; rs=conn.getResult(sql); if (rs!=null){ try{ mm.setRowCount(0); table.setModel(mm); while(rs.next()){ String 学号 = rs.getString("学号"); String 姓名 = rs.getString("姓名"); String 性别 = rs.getString("性别"); String 民族 = rs.getString("民族"); String 年龄 = rs.getString("年龄"); String 年级 = rs.getString("年级"); String 班级 = rs.getString("班级"); String 专业 = rs.getString("专业"); String[] cloumns ={学号,姓名,性别,民族,年龄,年级,班级,专业}; mm.addRow(cloumns); } //table.clearSelection();
table.setModel(mm); }catch(Exception e){ System.out.println(e.toString()); } } } public void actionPerformed(ActionEvent e){ //退出 if (e.getSource()==miExit){ System.exit(0); //查找 }else if(e.getSource()==miFind){ findFrame ff=new findFrame(this); ff.setVisible(true); //添加 }else if(e.getSource()==miAdd){ addFrame af=new addFrame(this); af.setVisible(true); //修改 }else if(e.getSource()==miEdit){ if (table.getSelectedRow()==-1){ JOptionPane.showMessageDialog(null, "请选择你要修改的内容", "温馨提 示", JOptionPane.INFORMATION_MESSAGE); }else{ editFrame ef=new editFrame(this); ef.学号.setText((String)table.getValueAt(table.getSelectedRow(),0)); ef.姓名.setText((String)table.getValueAt(table.getSelectedRow(),1)); ef.性别.setText((String)table.getValueAt(table.getSelectedRow(),2)); ef.民族.setText((String)table.getValueAt(table.getSelectedRow(),3)); ef.年龄.setText((String)table.getValueAt(table.getSelectedRow(),4)); ef.年级.setText((String)table.getValueAt(table.getSelectedRow(),5)); ef.班级.setText((String)table.getValueAt(table.getSelectedRow(),6)); ef.专业.setText((String)table.getValueAt(table.getSelectedRow(),7)); ef.setVisible(true); this.freshTable("select * from 学生信息表"); } //删除 }else if(e.getSource()==miDel){ if (table.getSelectedRow()==-1){ JOptionPane.showMessageDialog(null, "请选择你要删除的行", "温馨提示",
JOptionPane.INFORMATION_MESSAGE); }else { String sql="delete from 学 生 信 息 表 where 学 号 = '"+table.getValueAt(table.getSelectedRow(),0)+"'"; //JOptionPane.showMessageDialog(null, sql, " 温 馨 提 示 ", JOptionPane.INFORMATION_MESSAGE); myConnection conn=new myConnection(); if (conn.executeSql(sql)){ JOptionPane.INFORMATION_MESSAGE); JOptionPane.showMessageDialog(null, " 成 功 删 除 ", " 温 馨 提 示 ", this.freshTable("select * from 学生信息表"); }else { JOptionPane.showMessageDialog(null, " 未 知 错 误 ", " 删 除 失 败 ", JOptionPane.INFORMATION_MESSAGE); } } //显示 }else if(e.getSource()==miShow){ //JOptionPane.showMessageDialog(null, " 未 知 错 误 ", " 删 除 失 败 ", JOptionPane.INFORMATION_MESSAGE); this.freshTable("select * from 学生信息表"); //用户管理 }else if(e.getSource()==miUser){ userFrame uf=new userFrame(); uf.setVisible(true); //关于 }else if(e.getSource()==miAbout){ aboutFrame af=new aboutFrame(); af.setVisible(true); } } } class myConnection{ ResultSet re; String strurl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ= 学 生 管 理 数 据 库.mdb"; public myConnection(){} public ResultSet getResult(String sql){
try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn=DriverManager.getConnection(strurl); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); ResultSet re=stmt.executeQuery(sql); return re; } catch(Exception e){ System.out.println("getResult------"+e.toString()); return null; } } public boolean executeSql(String sql){ try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection conn=DriverManager.getConnection(strurl); Statement stmt=conn.createStatement(); stmt.executeUpdate(sql); conn.commit(); return true; } catch(Exception e){ System.out.println("executeSql----"+e.toString()); return false; } } } class addFrame extends JDialog implements ActionListener{ public static final int WIDTH = 400; public static final int HEIGHT = 400; JLabel 学号 1,姓名 1,性别 1,民族 1,年龄 1,年级 1,班级 1,专业 1; JTextField 学号,姓名,性别,民族,年龄,年级,班级,专业; JButton b; JPanel p; mainFrame mf; public addFrame(mainFrame mmf){ setTitle("修改学生信息");
setSize(WIDTH,HEIGHT); setLocation(120,180); Container contentPane = getContentPane(); contentPane.setLayout(new FlowLayout()); 学号 1=new JLabel("学号"); 姓名 1=new JLabel("姓名"); 性别 1=new JLabel("性别"); 民族 1=new JLabel("民族"); 年龄 1=new JLabel("年龄"); 年级 1=new JLabel("年级"); 班级 1=new JLabel("班级"); 专业 1=new JLabel("专业"); 学号=new JTextField(5); 姓名=new JTextField(5); 性别=new JTextField(5); 民族=new JTextField(5); 年龄=new JTextField(5); 年级=new JTextField(5); 班级=new JTextField(10); 专业=new JTextField(10); b=new JButton("确定"); p=new JPanel(); p.setLayout(new GridLayout(10,2,5,5)); p.add(学号 1); p.add(学号); p.add(姓名 1); p.add(姓名); p.add(性别 1); p.add(性别); p.add(民族 1); p.add(民族); p.add(年龄 1); p.add(年龄); p.add(年级 1); p.add(年级); p.add(班级 1); p.add(班级); p.add(专业 1); p.add(专业); p.add(new Label(""));
p.add(new Label("")); p.add(b); contentPane.add(p); //添加按钮监听器 b.addActionListener(this); mf=mmf; } public void actionPerformed(ActionEvent e){ if (学号.getText().toString().equals("")){ JOptionPane.showMessageDialog(null, " 请 输 入 学 号 ", " 温 馨 提 示 ", JOptionPane.INFORMATION_MESSAGE); }else if (姓名.getText().toString().equals("")){ JOptionPane.showMessageDialog(null, " 请 输 入 姓 名 ", " 温 馨 提 示 ", JOptionPane.INFORMATION_MESSAGE); }else if (年龄.getText().toString().equals("")){ JOptionPane.showMessageDialog(null, " 请 输 入 年 龄 ", " 温 馨 提 示 ", JOptionPane.INFORMATION_MESSAGE); }else{ String sql="select * from 学生信息表 where 学号='" + 学号.getText() + "'"; myConnection conn=new myConnection(); ResultSet rs; rs=conn.getResult(sql); try{ //System.out.println(rs.getRow()); if (rs.next()){ JOptionPane.showMessageDialog(null, "此学号已经存在", "温馨提示", JOptionPane.INFORMATION_MESSAGE); }else{ sql="insert into 学 生 信 息 表 values('" + 学 号 .getText()+"','"+ 姓 名 .getText() +"','"+ 性 别 .getText() +"','"+ 民 族 .getText() +"',"+ 年 龄 .getText() +",'"+ 年 级.getText() +"','"+ 班级.getText() +"','"+ 专业.getText() +"')"; if (conn.executeSql(sql)){ JOptionPane.showMessageDialog(null, " 添 加 成 功", " 温 馨 提 示", JOptionPane.INFORMATION_MESSAGE); mf.freshTable("select * from 学生信息表"); 学号.setText(""); 姓名.setText(""); 性别.setText(""); 民族.setText(""); 年龄.setText(""); 年级.setText(""); 班级.setText(""); 专业.setText("");
分享到:
收藏