分享
分销 收藏 举报 申诉 / 9
播放页_导航下方通栏广告

类型简单学生管理信息系统源代码.doc

  • 上传人:精***
  • 文档编号:4063909
  • 上传时间:2024-07-26
  • 格式:DOC
  • 页数:9
  • 大小:59.04KB
  • 下载积分:6 金币
  • 播放页_非在线预览资源立即下载上方广告
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    简单 学生 管理信息系统 源代码
    资源描述:
    package xsgl; import java.awt。*; import java.awt.event.*; import java。sql。*; import java。util。*; import javax.swing.*; import java。util。Vector; import javax.swing。table.*; import java。awt.event.*; public class Xsglxt extends JFrame implements ActionListener//继承JFrame 并实现接口ActionListener { JPanel mb1,mb2; JLabel bq1; JTextField wbk1; JButton an1,an2,an3,an4; JTable bg1; //定义表格对象 JScrollPane gd1; Xsxx xsxx2; //定义Xsxx类的一个对象xsxx2 public static void main(String[] args) { Xsglxt xs=new Xsglxt(); } public Xsglxt() //XSGLXT构造方法,用于对象初始化。 { mb1=new JPanel(); bq1=new JLabel(”请输入姓名”); wbk1=new JTextField(10); an1=new JButton(”查询"); an1。addActionListener(this); //对按钮1添加监听 an1.setActionCommand("chaxun”); //设置按钮1的监听信息 mb1.add(bq1); mb1。add(wbk1); mb1。add(an1); mb2=new JPanel(); an2=new JButton(”添加”); an2。addActionListener(this); an2.setActionCommand("tianjia"); an3=new JButton("修改”); an3。addActionListener(this); an3。setActionCommand("xiugai"); an4=new JButton("删除”); an4。addActionListener(this); an4.setActionCommand("shanchu”); mb2.add(an2); mb2.add(an3); mb2.add(an4); xsxx2=new Xsxx(); bg1=new JTable(xsxx2); gd1=new JScrollPane(bg1); this。add(gd1); this.add(mb1,"North”); this。add(mb2,”South"); this。setTitle("学生管理系统"); this.setSize(500,400); this.setLocation(201,181); this.setResizable(false); this。setDefaultCloseOperation(JFrame。EXIT_ON_CLOSE); this.setVisible(true); } public void actionPerformed(ActionEvent e) //实现接口ActionListener中的actionPerformed抽象方法 { if(e。getActionCommand().equals("chaxun”)) //判断监听到的组件信息是不是"chaxun"(是不是查询按钮) { String xingming=this。wbk1。getText().trim(); //将本窗口的文本框1中文本取出,忽略前后空格后赋给变量xingming String sql=”select * from xuesheng where xingming=’"+xingming+”’"; //将SQL语句赋给String类型变量sql xsxx2=new Xsxx(sql); //将String类型变量sql作为参数NEW一个Xsxx类的对象xsxx2 bg1。setModel(xsxx2); //将表bg1的数据模型设为 newModel,并向其注册以获取来自新数据模型的侦听器通知。 } else if(e.getActionCommand().equals("tianjia”)) { Tianjia tj=new Tianjia(this,”添加学生信息”,true); xsxx2=new Xsxx(); //无参数传递的NEW一个Xsxx类的对象xsxx2 bg1.setModel(xsxx2); } else if(e。getActionCommand().equals("xiugai”)) { int ii=this.bg1。getSelectedRow(); //使用getSelectedRow()方法返回第一个选定行的索引;如果没有选定的行,则返回 -1。 if(ii==-1) { JOptionPane.showMessageDialog(this,”请选中要修改的行"); //显示一个错误对话框 return; } new Xiugai(this,"修改学生信息",true,xsxx2,ii); //NEW一个修改类对象并附上相关参数,true指定对话框在显示时是否阻塞用户向其他顶层窗口输入 xsxx2=new Xsxx(); bg1.setModel(xsxx2); } else if(e.getActionCommand().equals(”shanchu”)) { int ii=this。bg1。getSelectedRow(); if(ii==—1) { JOptionPane.showMessageDialog(this,"请选中要删除的行"); return; } String st=(String)xsxx2.getValueAt(ii,0); //使用getValueAt(ii,0)方法返回第ii行的第0字段数据并强转为字符串型数据 PreparedStatement ps=null; //定义一个PreparedStatement对象ps;SQL 语句被预编译并存储在 PreparedStatement 对象中 Connection ct=null; //定义一个Connection对象ct;用来与特定数据库的连接。 ResultSet rs=null; //定义一个ResultSet对象rs;表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。 Statement sm=null; try { Class。forName(”sun.jdbc.odbc。JdbcOdbcDriver”); //返回与带有给定字符串名的类或接口相关联的 Class 对象。 ct=DriverManager.getConnection("jdbc:odbc:123”,”sa",”123456”); //DriverManager:管理一组 JDBC 驱动程序的基本服务.getConnection方法试图建立到给定数据库 URL 的连接。 ps=ct.prepareStatement(”delete from xuesheng where xuehao=?”); //prepareStatement()方法是创建一个 PreparedStatement 对象来将参数化的 SQL 语句发送到数据库。 ps.setString(1,st); //设置prepareStatement中SQL语句中第一个?位置为st中的字符串 ps。executeUpdate(); //在此 PreparedStatement 对象中执行 SQL 语句。 } catch (Exception e2){} finally { try { if(rs!=null) { rs。close(); } if(ps!=null) { ps.close(); } if(ct!=null) { ct。close(); } } catch (Exception e3){} } xsxx2=new Xsxx(); bg1.setModel(xsxx2); } } } class Xsxx extends AbstractTableModel { Vector ziduan,jilu; PreparedStatement ps=null; Connection ct=null; ResultSet rs=null; public int getRowCount() // AbstractTableModel抽象类中的一个抽象方法(子类中必须实现),返回该模型中的行数.JTable 使用此方法来确定它应该显示多少行。 { return this.jilu。size(); } public int getColumnCount() //返回该模型中的列数.JTable 使用此方法来确定在默认情况下它应该创建并显示多少列。 { return this.ziduan.size(); } public Object getValueAt(int hang, int lie) //返回指定行和列对应位置的单元格值. { return ((Vector)this。jilu。get(hang))。get(lie); } public Xsxx() { this.sqlyj(”select * from xuesheng”); } public Xsxx(String ss) { this.sqlyj(ss); } public String getColumnName(int e) //返回 e 位置的列的名称。 { return (String)this。ziduan.get(e); } public void sqlyj(String sql) { ziduan=new Vector(); ziduan。add(”学号"); ziduan.add(”姓名"); ziduan.add("性别”); ziduan。add("年龄"); ziduan。add(”籍贯”); ziduan.add("所在院系"); jilu=new Vector(); try { Class。forName(”sun.jdbc。odbc。JdbcOdbcDriver"); ct=DriverManager.getConnection("jdbc:odbc:123”,"sa","123456"); ps=ct。prepareStatement(sql); rs=ps.executeQuery(); //executeQuery()方法是在此 PreparedStatement 对象ps中执行 SQL 查询,并返回该查询生成的 ResultSet 对象。 while(rs.next()) { Vector hang=new Vector(); hang。add(rs。getString(1)); //以 Java 编程语言中 String 的形式获取此 ResultSet 对象的当前行中指定列的值. hang.add(rs。getString(2)); hang。add(rs.getString(3)); hang。add(rs.getInt(4)); hang。add(rs。getString(5)); hang.add(rs.getString(6)); jilu.add(hang); } } catch (Exception e){} finally { try { if(rs!=null) { rs。close(); } if(ps!=null) { ps.close(); } if(ct!=null) { ct.close(); } } catch (Exception e){} } } } class Xiugai extends JDialog implements ActionListener //JDialog是创建对话框窗口的主要类 { JLabel bq1,bq2,bq3,bq4,bq5,bq6; JTextField wbk1,wbk2,wbk3,wbk4,wbk5,wbk6; JButton an1,an2; JPanel mb1,mb2,mb3,mb4; public Xiugai(Frame fck,String ckm,Boolean msck,Xsxx xsxx2,int hang) { super(fck,ckm,msck); bq1=new JLabel(" 学号 ”); bq2=new JLabel(" 姓名 ”); bq3=new JLabel(” 性别 "); bq4=new JLabel(” 年龄 ”); bq5=new JLabel(" 籍贯 "); bq6=new JLabel(" 院系 "); wbk1=new JTextField(5); wbk1。setText((String)xsxx2.getValueAt(hang,0)); wbk1。setEditable(false); wbk2=new JTextField(5); wbk2。setText((String)xsxx2。getValueAt(hang,1)); wbk3=new JTextField(5); wbk3.setText((String)xsxx2。getValueAt(hang,2)); wbk4=new JTextField(5); wbk4。setText((String)xsxx2。getValueAt(hang,3)。toString()); wbk5=new JTextField(5); wbk5。setText((String)xsxx2.getValueAt(hang,4)); wbk6=new JTextField(5); wbk6.setText((String)xsxx2。getValueAt(hang,5)); an1=new JButton(”修改"); an1.addActionListener(this); an1。setActionCommand("xiugai1"); an2=new JButton(”取消"); an2.addActionListener(this); an2.setActionCommand(”quxiao"); mb1=new JPanel(); mb2=new JPanel(); mb3=new JPanel(); mb4=new JPanel(); mb1.setLayout(new GridLayout(6,1)); mb2.setLayout(new GridLayout(6,1)); mb1。add(bq1); mb1。add(bq2); mb1.add(bq3); mb1。add(bq4); mb1。add(bq5); mb1。add(bq6); mb2。add(wbk1); mb2。add(wbk2); mb2。add(wbk3); mb2。add(wbk4); mb2。add(wbk5); mb2。add(wbk6); mb3.add(an1); mb3。add(an2); this。add(mb1,BorderLayout.WEST); this.add(mb2); this。add(mb3,BorderLayout。SOUTH); this。add(mb4,BorderLayout。EAST); this。setSize(370,270); this.setLocation(401,281); this。setResizable(false); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); this.setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getActionCommand().equals("xiugai1”)) { PreparedStatement ps=null; Connection ct=null; ResultSet rs=null; Statement sm=null; try { Class.forName("sun。jdbc.odbc.JdbcOdbcDriver”); ct=DriverManager。getConnection("jdbc:odbc:123”,”sa",”123456"); String ss=(”update xuesheng set xingming=?,xingbie=?,nianling=?,jiguan=?,yuanxi=? where xuehao=?”); ps=ct。prepareStatement(ss); ps.setString(1,wbk2.getText()); ps.setString(2,wbk3。getText()); ps.setString(3,wbk4。getText()); ps。setString(4,wbk5。getText()); ps.setString(5,wbk6。getText()); ps.setString(6,wbk1。getText()); ps.executeUpdate(); this。dispose(); } catch (Exception e2){} finally { try { if(rs!=null) { rs。close(); } if(ps!=null) { ps。close(); } if(ct!=null) { ct。close(); } } catch (Exception e3){} } } else if(e。getActionCommand().equals(”quxiao")) { this。dispose();//关闭当前窗口 } } } class Tianjia extends JDialog implements ActionListener { JLabel bq1,bq2,bq3,bq4,bq5,bq6; JTextField wbk1,wbk2,wbk3,wbk4,wbk5,wbk6; JButton an1,an2; JPanel mb1,mb2,mb3,mb4; public Tianjia(Frame fck,String ckm,Boolean msck) { super(fck,ckm,msck); bq1=new JLabel(” 学号 "); bq2=new JLabel(" 姓名 "); bq3=new JLabel(” 性别 ”); bq4=new JLabel(" 年龄 "); bq5=new JLabel(" 籍贯 "); bq6=new JLabel(” 院系 "); wbk1=new JTextField(5); wbk2=new JTextField(5); wbk3=new JTextField(5); wbk4=new JTextField(5); wbk5=new JTextField(5); wbk6=new JTextField(5); an1=new JButton("添加”); an1.addActionListener(this); an1.setActionCommand("tianjia2"); an2=new JButton("取消"); an2。addActionListener(this); an2.setActionCommand(”quxiao”); mb1=new JPanel(); mb2=new JPanel(); mb3=new JPanel(); mb4=new JPanel(); mb1。setLayout(new GridLayout(6,1)); mb2。setLayout(new GridLayout(6,1)); mb1。add(bq1); mb1。add(bq2); mb1.add(bq3); mb1.add(bq4); mb1.add(bq5); mb1。add(bq6); mb2.add(wbk1); mb2.add(wbk2); mb2.add(wbk3); mb2.add(wbk4); mb2.add(wbk5); mb2.add(wbk6); mb3.add(an1); mb3。add(an2); this。add(mb1,BorderLayout.WEST); this.add(mb2); this。add(mb3,BorderLayout.SOUTH); this.add(mb4,BorderLayout。EAST); this.setSize(370,270); this。setLocation(401,281); this.setResizable(false); this.setDefaultCloseOperation(JFrame。DISPOSE_ON_CLOSE); this。setVisible(true); } public void actionPerformed(ActionEvent e) { if(e.getActionCommand()。equals("tianjia2”)) { PreparedStatement ps=null; Connection ct=null; ResultSet rs=null; Statement sm=null; try { Class。forName(”sun.jdbc.odbc。JdbcOdbcDriver"); ct=DriverManager。getConnection(”jdbc:odbc:123","sa”,"123456”); String ss=("insert into xuesheng values(?,?,?,?,?,?)”); ps=ct。prepareStatement(ss); ps.setString(1,wbk1.getText()); ps.setString(2,wbk2。getText()); ps.setString(3,wbk3。getText()); ps。setString(4,wbk4。getText()); ps。setString(5,wbk5。getText()); ps。setString(6,wbk6。getText()); ps。executeUpdate(); this。dispose(); } catch (Exception e2){} finally { try { if(rs!=null) { rs。close(); } if(ps!=null) { ps.close(); } if(ct!=null) { ct.close(); } } catch (Exception e3){} } } else if(e.getActionCommand()。equals("quxiao”)) { this。dispose(); } } }
    展开阅读全文
    提示  咨信网温馨提示:
    1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
    2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
    3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
    4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
    5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
    6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

    开通VIP折扣优惠下载文档

    自信AI创作助手
    关于本文
    本文标题:简单学生管理信息系统源代码.doc
    链接地址:https://www.zixin.com.cn/doc/4063909.html
    页脚通栏广告

    Copyright ©2010-2026   All Rights Reserved  宁波自信网络信息技术有限公司 版权所有   |  客服电话:0574-28810668    微信客服:咨信网客服    投诉电话:18658249818   

    违法和不良信息举报邮箱:help@zixin.com.cn    文档合作和网站合作邮箱:fuwu@zixin.com.cn    意见反馈和侵权处理邮箱:1219186828@qq.com   | 证照中心

    12321jubao.png12321网络举报中心 电话:010-12321  jubao.png中国互联网举报中心 电话:12377   gongan.png浙公网安备33021202000488号  icp.png浙ICP备2021020529号-1 浙B2-20240490   


    关注我们 :微信公众号  抖音  微博  LOFTER               

    自信网络  |  ZixinNetwork