弦蛋超人吧 关注:4贴子:226
  • 4回复贴,共1
package jettang;
import java.lang.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
//////////////////////////////////////////////
//主类
public class STU {
public STU() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void main(String args[]) {
new Frm_Main();
}
private void jbInit() throws Exception {
}
}
//主框架,数据库
class Frm_Main implements ActionListener { //throws IOException
public static final int EXIT_ON_CLOSE = 0;
public JFrame frame;
public Container c;
public JMenuBar menuBar;
public JMenu mainMenu1;
public JMenu mainMenu2;
public JMenu mainMenu3;
public JMenuItem subMenu1[] = new JMenuItem[5];
public JMenuItem subMenu2[] = new JMenuItem[7];
public JMenuItem subMenu3[] = new JMenuItem[2];
JButton toolBarButton[] = new JButton[8];
public JToolBar toolBar;
//////////////////////////////////////////////
String strTip[] = {"姓名查询...", "添加信息...",
"删除...", "修改...", "修改确认...",
"添加确认...", "删除确认...", "关于产品信息:)"};
//////////////////////////////////////////////
// String id = new String();
String name = new String();
String sex = new String();
String age = new String();
String classid = new String();
String department = new String();
String call = new String();
//////////////////////////////////////////////
Connection con;
ResultSet rs;
Statement st;
// ResultSetMetaData rsmd;
// Vector columnHeads=new Vector();
// Vector rows = new Vector();
// Vector currentRow=new Vector();
///////////////////////////////////////////////
public JLabel classidL = new JLabel("班级");
public JLabel nameL = new JLabel("姓名");
public JLabel sexL = new JLabel("性别");
public JLabel ageL = new JLabel("年龄");
public JLabel departmentL = new JLabel("单位");
public JLabel callL = new JLabel("电话");
public JLabel tittleLabel = new JLabel();
//////////////////////////////////////////////
public JTextField classidT = new JTextField();
public JTextField nameT = new JTextField();
public JTextField sexT = new JTextField();
public JTextField ageT = new JTextField();
public JTextField departmentT = new JTextField();
public JTextField callT = new JTextField();
public JTextArea textT = new JTextArea();
//////////////////////////////////////////////
//////////////////////////////////////////////
public Frm_Main() {
/////////////////////////////////////////////////
frame = new JFrame("学籍管理系统V1.0");
c = frame.getContentPane();
c.setLayout(null);
menuBar = new JMenuBar();
toolBar = new JToolBar();
toolBar.setFloatable(false);
frame.setJMenuBar(menuBar);
frame.setResizable(false);
////////////////////////////////////////////////
mainMenu1 = new JMenu("管理");
String str1[] = {"添加", "删除", "查询", " ", "关闭"};
for (int i = 0; i < 5; i++) {
if (i == 3) {



IP属地:上海1楼2009-12-15 11:25回复
    mainMenu1.addSeparator();
    } else {
    subMenu1[i] = new JMenuItem(str1[i]);
    subMenu1[i].addActionListener(this);
    mainMenu1.add(subMenu1[i]);
    }
    }
    menuBar.add(mainMenu1);
    /////////////////////////////////////////////////
    mainMenu2 = new JMenu("操作");
    String str2[] = {"查询", "添加", "删除", "修改",
    "提交修改", "提交添加", "提交删除"};
    for (int i = 0; i < 7; i++) {
    subMenu2[i] = new JMenuItem(str2[i]);
    subMenu2[i].addActionListener(this);
    mainMenu2.add(subMenu2[i]);
    }
    menuBar.add(mainMenu2);
    /////////////////////////////////////////////////
    mainMenu3 = new JMenu("集体查询");
    String str3[] = {"按班级...", "按单位..."};
    for (int i = 0; i < 2; i++) {
    subMenu3[i] = new JMenuItem(str3[i]);
    subMenu3[i].addActionListener(this);
    mainMenu3.add(subMenu3[i]);
    }
    menuBar.add(mainMenu3);
    ////////////////////////////////////////////////
    String strToolBar[] = {"查询", "添加", "删除", "修改", "提交修改",
    "提交添加", "提交删除", "关于"};
    for (int i = 0; i < 8; i++) {
    toolBarButton[i] = new JButton(strToolBar[i]);
    toolBarButton[i].setToolTipText(strTip[i]);
    toolBarButton[i].addActionListener(this);
    toolBar.add(toolBarButton[i]);
    }
    toolBar.setLocation(0, 0);
    toolBar.setSize(400, 30);
    c.add(toolBar);
    ////////////////////////////////////////////////
    classidL.setLocation(35, 40);
    classidL.setSize(40, 20);
    //classidL.setFont(new Font("",Font.BOLD,12));
    c.add(classidL);
    classidT.setLocation(90, 40);
    classidT.setSize(200, 20);
    //classidT.setEnabled(false);
    c.add(classidT);
    nameL.setLocation(35, 70);
    nameL.setSize(40, 20);
    c.add(nameL);
    nameT.setLocation(90, 70);
    nameT.setSize(200, 20);
    c.add(nameT);
    sexL.setLocation(35, 100);
    sexL.setSize(40, 20);
    c.add(sexL);
    sexT.setLocation(90, 100);
    sexT.setSize(200, 20);
    c.add(sexT);
    ageL.setLocation(35, 130);
    ageL.setSize(40, 20);
    c.add(ageL);
    ageT.setLocation(90, 130);
    ageT.setSize(200, 20);
    c.add(ageT);
    departmentL.setLocation(35, 160);
    departmentL.setSize(40, 20);
    c.add(departmentL);
    departmentT.setLocation(90, 160);
    departmentT.setSize(200, 20);
    c.add(departmentT);
    callL.setLocation(35, 190);
    callL.setSize(40, 20);
    c.add(callL);
    callT.setLocation(90, 190);
    callT.setSize(200, 20);
    c.add(callT);
    /////////////////////////////////////////////////
    tittleLabel.setText("----------集体查询结果--------");
    tittleLabel.setSize(300, 20);
    tittleLabel.setLocation(10, 210);
    c.add(tittleLabel);
    ////////////////////////////////////////////
    textT.setSize(400, 300);
    textT.setLocation(10, 240);
    c.add(textT, 14);
    ///////////////////////////////////////////////
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setSize(500, 650);
    frame.setLocation(200, 200);
    frame.setVisible(true);
    conDB();
    }
    //以上是框架设计
    //JDBC
    public void conDB() {
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    


    IP属地:上海2楼2009-12-15 11:25
    回复

      } catch (ClassNotFoundException e) {
      JOptionPane.showMessageDialog(null, "数据库错误");
      }
      try {
      con = DriverManager.getConnection("jdbc:odbc:jettang", "sa", "");
      st = con.createStatement();
      } catch (SQLException e) {
      JOptionPane.showMessageDialog(null, "数据库连接失败");
      }
      }
      //关闭连接
      public void closeDB() {
      try {
      st.close();
      con.close();
      } catch (SQLException e) {
      JOptionPane.showMessageDialog(null, "数据库关闭失败");
      }
      }
      //事件响应
      public void actionPerformed(ActionEvent e) {
      //////////////////////////////////////////////
      if (e.getSource() == toolBarButton[7]) {
      JOptionPane.showMessageDialog(null, "当前版本1.0,操作帮助请看使用说明书");
      }
      /////////////////////////////////////////////查询(按姓名)
      if (e.getSource() == subMenu2[0] || e.getSource() == toolBarButton[0] ||
      e.getSource() == subMenu1[2]) {
      String idid = JOptionPane.showInputDialog("请输入学生姓名");
      if (idid.trim() != "") {
      String strSQL = "select * from stuinfo where name = + idid +
      ";
      try {
      rs = st.executeQuery(strSQL);
      int count = 0;
      while (rs.next()) {
      classid = rs.getString("classid");
      name = rs.getString("name");
      department = rs.getString("department");
      sex = rs.getString("sex");
      age = rs.getString("age");
      call = rs.getString("call");
      ++count;
      }
      if (count == 0) {
      JOptionPane.showMessageDialog(null, "无此信息");
      } else {
      classidT.setText(classid);
      nameT.setText(name);
      sexT.setText(sex);
      ageT.setText(age);
      callT.setText(call);
      departmentT.setText(department);
      }
      } catch (Exception ex) {
      JOptionPane.showMessageDialog(null, "查询失败");
      }
      }
      }
      /////////////////////////////////////////////关闭
      if (e.getSource() == subMenu1[4]) {
      frame.dispose();
      closeDB();
      }
      /////////////////////////////////////////////添加
      if (e.getSource() == subMenu1[0] || e.getSource() == subMenu2[1] ||
      e.getSource() == toolBarButton[1]) {
      JOptionPane.showMessageDialog(null, "请输入你添加的信息再点击提交添加键");
      classidT.setEnabled(true);
      classidT.setText("");
      nameT.setText("");
      sexT.setText("");
      ageT.setText("");
      callT.setText("");
      departmentT.setText("");
      }
      /////////////////////////////////////////////提交添加
      if (e.getSource() == toolBarButton[5] || e.getSource() == subMenu2[5]) {
      if ((classidT.getText().trim()).equals("") ||
      (nameT.getText().trim()).equals("") ||
      (sexT.getText().trim()).equals("") ||
      (ageT.getText().trim()).equals("") ||
      (callT.getText().trim()).equals("") ||
      (departmentT.getText().trim()).equals("")) {
      JOptionPane.showMessageDialog(null, "请先点击添加键");
      } else {
      classid = classidT.getText();
      name = nameT.getText();
      sex = sexT.getText();
      age = ageT.getText();
      call = callT.getText();
      department = departmentT.getText();
      String strSQL =
      "insert into stuinfo(classid,name,sex,age,call,department) values( +
      classid + , +
      name + , + sex + , + age + , + call + , +
      


      IP属地:上海3楼2009-12-15 11:25
      回复
        department + )";
        try {
        st.executeUpdate(strSQL);
        } catch (Exception exx) {
        JOptionPane.showMessageDialog(null, "添加失败");
        return;
        }
        JOptionPane.showMessageDialog(null, "添加成功");
        classidT.setText("");
        nameT.setText("");
        sexT.setText("");
        ageT.setText("");
        callT.setText("");
        departmentT.setText("");
        }
        }
        ////////////////////////////////////////////提交修改
        if (e.getSource() == subMenu2[4] || e.getSource() == toolBarButton[4]) {
        if ((classidT.getText().trim()).equals("") ||
        (nameT.getText().trim()).equals("") ||
        (sexT.getText().trim()).equals("")
        || (ageT.getText().trim()).equals("") ||
        (callT.getText().trim()).equals("") ||
        (departmentT.getText().trim()).equals("")) {
        JOptionPane.showMessageDialog(null, "请先点击修改键");
        return;
        } else {
        classid = classidT.getText();
        name = nameT.getText();
        sex = sexT.getText();
        age = ageT.getText();
        call = callT.getText();
        department = departmentT.getText();
        String strSQL = "update stuinfo set classid= + classid +
        ,sex= + sex + ,age= + age + ,call= +
        call + ,department= + department + " +
        "where name= + name + ";
        try {
        st.executeUpdate(strSQL);
        } catch (Exception exx) {
        JOptionPane.showMessageDialog(null, "修改失败");
        return;
        }
        JOptionPane.showMessageDialog(null, "修改成功");
        classidT.setText("");
        nameT.setText("");
        sexT.setText("");
        ageT.setText("");
        callT.setText("");
        departmentT.setText("");
        }
        }
        ///////////////////////////////////////////////修改
        if (e.getSource() == subMenu2[3] || e.getSource() == toolBarButton[3]) {
        String idid = JOptionPane.showInputDialog("请输入你要修改的学生姓名后点击提交修改键确认");
        if (idid.trim() != "") {
        String strSQL = "select * from stuinfo where name = + idid +
        ";
        try {
        rs = st.executeQuery(strSQL);
        int count = 0;
        while (rs.next()) {
        classid = rs.getString("classid");
        name = rs.getString("name");
        department = rs.getString("department");
        sex = rs.getString("sex");
        age = rs.getString("age");
        call = rs.getString("call");
        ++count;
        }
        if (count == 0) {
        JOptionPane.showMessageDialog(null, "无此信息");
        } else {
        classidT.setText(classid);
        nameT.setText(name);
        sexT.setText(sex);
        ageT.setText(age);
        callT.setText(call);
        departmentT.setText(department);
        classidT.setEnabled(false);
        }
        } catch (Exception ex) {
        JOptionPane.showMessageDialog(null, "修改失败");
        }
        }
        }
        /////////////////////////////////////////////////删除
        if (e.getSource() == subMenu2[2] || e.getSource() == toolBarButton[2] ||
        e.getSource() == subMenu1[1]) {
        String idDel = JOptionPane.showInputDialog("请输入要删除的学生姓名后点击提交删除键确认");
        if (idDel.trim() != "") {
        String strSQL = "select * from stuinfo where name = + idDel +
        ";
        try {
        rs = st.executeQuery(strSQL);
        int count = 0;
        while (rs.next()) {
        classid = rs.getString("classid");
        name = rs.getString("name");
        department = rs.getString("department");
        


        IP属地:上海4楼2009-12-15 11:25
        回复
          sex = rs.getString("sex");
          age = rs.getString("age");
          call = rs.getString("call");
          ++count;
          }
          if (count == 0) {
          JOptionPane.showMessageDialog(null, "无此信息");
          } else {
          classidT.setText(classid);
          nameT.setText(name);
          sexT.setText(sex);
          ageT.setText(age);
          callT.setText(call);
          departmentT.setText(department);
          classidT.setEnabled(false);
          }
          } catch (Exception ex) {
          JOptionPane.showMessageDialog(null, "删除失败");
          }
          }
          }
          //////////////////////////////////////////////////提交删除
          if (e.getSource() == toolBarButton[6] ||
          e.getSource() == subMenu2[6]) {
          if ((classidT.getText().trim()).equals("") ||
          (nameT.getText().trim()).equals("") ||
          (sexT.getText().trim()).equals("") ||
          (ageT.getText().trim()).equals("") ||
          (callT.getText().trim()).equals("") ||
          (departmentT.getText().trim()).equals("")) {
          JOptionPane.showMessageDialog(null, "请先点击删除键");
          return;
          } else {
          name = nameT.getText();
          String strSQL = "delete from stuinfo where name= + name +
          ";
          try {
          st.executeUpdate(strSQL);
          } catch (Exception exx) {
          JOptionPane.showMessageDialog(null, "删除失败");
          return;
          }
          JOptionPane.showMessageDialog(null, "删除成功");
          classidT.setText("");
          nameT.setText("");
          sexT.setText("");
          ageT.setText("");
          callT.setText("");
          departmentT.setText("");
          }
          }
          //////////////////////////////////////////////集体查询(按班级)
          if (e.getSource() == subMenu3[0]) {
          classidT.setText("");
          nameT.setText("");
          sexT.setText("");
          ageT.setText("");
          callT.setText("");
          departmentT.setText("");
          if ((classidT.getText().trim()).equals("")) {
          String idclass = JOptionPane.showInputDialog("请输入班级");
          String strSQL = "select * from stuinfo where classid= +
          idclass +
          ";
          try {
          rs = st.executeQuery(strSQL);
          displayres(rs);
          } catch (Exception ex) {
          JOptionPane.showMessageDialog(null, "查询失败");
          }
          } else {
          String idclass = classidT.getText();
          String strSQL = "select * from stuinfo where classid= +
          idclass +
          ";
          try {
          rs = st.executeQuery(strSQL);
          displayres(rs);
          } catch (Exception ex) {
          JOptionPane.showMessageDialog(null, "查询失败");
          }
          }
          }
          ////////////////////////////按单位
          if (e.getSource() == subMenu3[1]) {
          classidT.setText("");
          nameT.setText("");
          sexT.setText("");
          ageT.setText("");
          callT.setText("");
          departmentT.setText("");
          if ((departmentT.getText().trim()).equals("")) {
          String idclass = JOptionPane.showInputDialog("请输入单位");
          String strSQL = "select * from stuinfo where department= +
          idclass +
          ";
          try {
          rs = st.executeQuery(strSQL);
          displayres(rs);
          } catch (Exception ex) {
          JOptionPane.showMessageDialog(null, "查询失败");
          }
          } else {
          String idclass = departmentT.getText();
          String strSQL = "select * from stuinfo where department= +
          idclass +
          ";
          try {
          rs = st.executeQuery(strSQL);
          displayres(rs);
          } catch (Exception ex) {
          JOptionPane.showMessageDialog(null, "查询失败");
          }
          }
          }
          }
          public void displayres(ResultSet rs1) throws SQLException {
          //定位到达第一条记录
          boolean moreRecords = rs1.next();
          //如果没有记录,则提示一条消息
          if (!moreRecords) {
          JOptionPane.showMessageDialog(null, "无此记录");
          return;
          }
          try {
          //获取数据
          getNextRow(rs1);
          //刷新Table
          c.validate();
          }
          catch (SQLException sqlex) {
          sqlex.printStackTrace();
          }
          }
          public void getNextRow(ResultSet rs2) throws
          SQLException {
          int count = 1;
          while (rs2.next()) {
          name = " 姓名:" + rs2.getString(1);
          age = " 年龄:" + rs2.getString(2) + " 单位:";
          department = rs2.getString(3) + "
          ";
          textT.append(count + "." + name + age + department);
          count++;
          }
          }
          }


          IP属地:上海5楼2009-12-15 11:25
          回复