资源预览内容
第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
第9页 / 共10页
第10页 / 共10页
亲,该文档总共10页全部预览完了,如果喜欢就下载吧!
资源描述
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 并实现接口ActionListenerJPanel mb1,mb2;JLabel bq1;JTextField wbk1;JButton an1,an2,an3,an4; JTable bg1; /定义表格对象JScrollPane gd1;Xsxx xsxx2; /定义Xsxx类的一个对象xsxx2public 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中文本取出,忽略前后空格后赋给变量xingmingString sql=select * from xuesheng where xingming=+xingming+; /将SQL语句赋给String类型变量sqlxsxx2=new Xsxx(sql); /将String类型变量sql作为参数NEW一个Xsxx类的对象xsxx2bg1.setModel(xsxx2); /将表bg1的数据模型设为 newModel,并向其注册以获取来自新数据模型的侦听器通知。else if(e.getActionCommand().equals(tianjia)Tianjia tj=new Tianjia(this,添加学生信息,true);xsxx2=new Xsxx(); /无参数传递的NEW一个Xsxx类的对象xsxx2bg1.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抽象类中的一个
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号