当前位置:首页 > ERP课程设计
return ; }
JOptionPane.showMessageDialog(null, \专业删除成功!\提示\TION_MESSAGE,null);
bindDepartmentList();}});JButton cancel = new JButton(\取消\
cancel.setBounds(150,120,70,20); jf.add(cancel);
cancel.addActionListener(new ActionListener() {//取消按钮的响应事件 jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); }}
public void actionPerformed(ActionEvent e) {jf.setVisible(false); jf.dispose();}});
7.1.4系部所有专业的查询模块代码: MajorsInDepartment.java
package com.zj.stu.prj.ui; import java.awt.*;
import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.*;
import javax.swing.table.DefaultTableModel;
public class MajorsInDepartment extends JFrame implements ActionListener{
//jtable 列名
String colName[]={\专业编号\专业名称\所属系部编号\ //jtable 的数据
String data[][]=null; //二维必须声明 //声明jtable
JTable tabClass=null;
//滚动面板:jtable 放置在滚动面板中才能显示列名 JScrollPane sp=new JScrollPane(); JLabel lblName=new JLabel(\系部名称\ JTextField txtName=new JTextField(20); JButton btnSearch=new JButton(\查询\ JButton btnUpdate=new JButton(\修改\ JButton btnDelete=new JButton(\删除\
private boolean b;
public MajorsInDepartment(){ //set frame
this.setSize(500,300); //设置窗体的大小
this.setTitle(\查询系部所有专业\设置窗体的标题
this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);//设置关闭 // this.setResizable(false);//设置窗体的大小不可变 this.setLocationRelativeTo(null); //设置居中 JPanel pnlNorth=new JPanel();
pnlNorth.setLayout(new FlowLayout(FlowLayout.LEFT)); pnlNorth.add(lblName);
24
pnlNorth.add(txtName); pnlNorth.add(btnSearch);
this.add(pnlNorth,BorderLayout.NORTH); JPanel pnlSourth=new JPanel(); pnlSourth.add(btnUpdate); pnlSourth.add(btnDelete);
this.add(pnlSourth,BorderLayout.SOUTH); //set jtable
int rowCount=this.getClassCount();
data = new String[rowCount][]; //创建了一个有N行数据的二维数组,用于保存DB 中数据
try {step1:查找驱动
Class.forName(\//step2:创建连接对象
Connection conn=DriverManager.getConnection(\System.out.println(\数据库已连接!\//step3:操作数据库的对象
Statement st=conn.createStatement(); //step4:准备需要执行的sql 语句 String sql=\ //System.out.println(sql); //step5: 执行select 的操作
ResultSet rs= st.executeQuery(sql); int index=0;
//step 6:读取结果集中的数据并保存到二维数组中 while(rs.next()){
data[index]=new String[3]; data[index][0]=rs.getString(1); data[index][1]=rs.getString(2); data[index][2]=rs.getString(3); index++; } //step 7:关闭对象
rs.close();st.close();conn.close(); } catch (ClassNotFoundException e1) {
// TODO 自动生成 catch 块 System.out.println(\未找到驱动!\e1.printStackTrace(); // TODO 自动生成 catch 块 e2.printStackTrace();}
} catch (SQLException e2) {
tabClass=new JTable(data,colName); //将tabClass 设为sp 的显示控件 sp.setViewportView(tabClass); //将滚动面板加入内容面板 this.add(sp,BorderLayout.CENTER); //set button
25
btnSearch.addActionListener(this); btnDelete.addActionListener(this); } public static void main(String[] args) {
MajorsInDepartment cqf=new MajorsInDepartment(); cqf.setVisible(true); }
/*
* @return class 表的数据行数 */
public int getClassCount(){ int count=0; try {step1:查找驱动
Class.forName(\//step2:创建连接对象
Connection conn=DriverManager.getConnection(\System.out.println(\数据库已连接!\//step3:操作数据库的对象
Statement st=conn.createStatement(); //step4:准备需要执行的sql 语句 String sql=\ //System.out.println(sql); //step5: 执行insert的操作
ResultSet rs= st.executeQuery(sql); rs.next(); count=rs.getInt(1); //step 6:关闭对象 rs.close();st.close();
conn.close();} catch (ClassNotFoundException e1) {
System.out.println(\未找到驱动!\
e1.printStackTrace();} catch (SQLException e2) { // TODO 自动生成 catch 块 e2.printStackTrace();}return count; } if(e.getSource()==btnSearch){
String sql = \ResultSet rs = SqlHelper.executeQuery(sql); try {rs.next();} catch (SQLException e1) { e1.printStackTrace();}
try {data=this.getData(\ where did='\} catch (SQLException e1) {
e1.printStackTrace();}
DefaultTableModel dtm=new DefaultTableModel(data,colName); tabClass.setModel(dtm);
public void actionPerformed(ActionEvent e) {
}//end search
else if(e.getSource()==btnDelete){
//首先判断用户是否选择数据,没有选择,给与提示
26
if(tabClass.getSelectedRowCount()>0)
{int result=JOptionPane.showOptionDialog(null,\确认删除\\删除学生\JOptionPane.YES_NO_OPTION,
if(result==JOptionPane.NO_OPTION){ return; } //获取所选行的下标
int rowIndex= tabClass.getSelectedRow(); String cid=data[rowIndex][0]; //判断此行信息是否存在外表中
String sql=\ int count=SqlHelper.executeUpdate(sql); //删除成功if(count>0){
JOptionPane.showMessageDialog(null, \删除成功!\ data =this.getData(\
DefaultTableModel dtm=new DefaultTableModel(data,colName);
tabClass.setModel(dtm); } }else {
JOptionPane.QUESTION_MESSAGE, null, null, null);
JOptionPane.showMessageDialog(null, \请选择需要删除的数据行!\ return; }}//end delete}
String countSql= sql.replace(\ResultSet rs = SqlHelper.executeQuery(countSql); int count =rs.getInt(1); rs.close();if(count<1)
{ JOptionPane.showMessageDialog(null, \没有符合条件数据的数据!\终止方法} data=new String[count][];
// sql=\ * from classInfo where name like '%\ rs =SqlHelper.executeQuery(sql); int index=0; while(rs.next()){
public String[][] getData(String sql){
try {rs.next();
data[index]=new String[6]; data[index][0]=rs.getString(1); data[index][1]=rs.getString(2); data[index][2]=rs.getString(3);
index++; }Statement st=rs.getStatement();
Connection conn= st.getConnection(); rs.close();st.close(); conn.close();
} catch (SQLException e1) {e1.printStackTrace();}return data; }}
7.1.5专业添加模块代码: MajorAdd.java
package com.zj.stu.prj.ui; import java.awt.*; import java.awt.event.*; import java.sql.ResultSet; import java.sql.SQLException; import javax.swing.*; public class MajorAdd {
private JComboBox departmentList = null; private JTextField pMajoyResult = null; private JFrame jf = null ;
public static void main(String[] args) {
27
共分享92篇相关文档