1、 public static Connection getConnection() return conn;登录界面import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Scanner;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTextField;public cla
2、ss View extends JFrame static GongNeng gn = new GongNeng(); static Student s = new Student(); static JTextField text1; static JTextField text2; static JButton button; public void denglu() setLayout(new FlowLayout(); add(new JLabel(用户id:); text1 = new JTextField(20); add(text1);密码: text2 = new JTextF
3、ield(20); add(text2); button = new JButton(登录 add(button); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); /关闭窗口 public static void main(String args) View dl = new View(); dl.setBounds(300, 300, 300, 200); dl.setTitle(学生选课管理系统 dl.denglu(); button.addActionListener(new ActionListene
4、r() public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub dl.dispose(); s.setStudent_id(Integer.parseInt(text1.getText(); s.setStudent_code(text2.getText(); try gn.correspond(s); catch (SQLException e1) / TODO Auto-generated catch block e1.printStackTrace(); );主界面import javax.
5、swing.*;import immoc4.bao.Course;import java.awt.*;import java.awt.event.*;public class Card extends JFrame /* * JFrame的布局管理器是BorderLayout */ Course g = new Course(); GongNeng gn = new GongNeng(); JPanel p;/位于中心区域的面板 JButton b1,b2,b3,b4;/位于北部区域的四个按钮 JButton add; JButton delete; JButton update; JButt
6、on query; JLabel add_id,add_name,add_teacher_name; JLabel delete_id; JLabel update_id,update_name,update_teacher_name; JLabel query_id; JLabel query_show; JTextField text_add_id,text_add_name,text_add_teacher_name; JTextField text_delete_id; JTextField text_update_id,text_update_name,text_update_tea
7、cher_name; JTextField text_query_id; JTextArea area_query_show; CardLayout c;/设置面板p的布局 Card() super(); this.setVisible(true); this.setBounds(400,300,400,300); p = new JPanel();/实例化p c = new CardLayout();/实例化c p.setLayout(c);/设置面板p的布局为c,等价于p = new JPanel(c); /实例化4个按钮和标签 b1 = new JButton(添加课程 b2 = new
8、 JButton(删除课程 b3 = new JButton(修改课程 b4 = new JButton(查询课程 /实例化4个子面板并设定相应背景颜色 JPanel p1 = new JPanel(); JPanel p2 = new JPanel(); JPanel p3 = new JPanel(); JPanel p4 = new JPanel(); / p1.setLayout( p1.setBackground(Color.green); p2.setBackground(Color.pink); p3.setBackground(Color.orange); p4.setBack
9、ground(Color.lightGray); /把上面4个面板添加到中心面板p中,并把4个面板分别用编号为1,2,3,4代替 p.add(p1,1 p.add(p2,2 p.add(p3,3 p.add(p4,4 /实例化位于南部区域的面板,并添加4个按钮 JPanel pnorth = new JPanel(); pnorth.add(b1); pnorth.add(b2); pnorth.add(b3); pnorth.add(b4); /把p,psourth分别添加到本JFrame的中心区域和南部区域 this.add(p);/等价于this.add(p,BorderLayout.C
10、ENTER); 因为默认是把组件添加到中部 this.add(pnorth,BorderLayout.NORTH); / 添加课程 add_id = new JLabel(课程号 text_add_id = new JTextField(30); add_name = new JLabel(课程名 text_add_name = new JTextField(30); add_teacher_name = new JLabel(教师名 text_add_teacher_name = new JTextField(30); add = new JButton(添加 /为按钮b1添加监听器,当被按
11、下时显示面板p中的前一个子面板 b1.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub c.show(p,/显示p中的上一个面板 p1.add(add_id); p1.add(text_add_id); p1.add(add_name); p1.add(text_add_name); p1.add(add_teacher_name); p1.add(text_add_teacher_name);
12、p1.add(add); ); add.addActionListener(new ActionListener() Override public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub g.setId(Integer.parseInt(text_add_id.getText(); g.setName(text_add_name.getText(); g.setTeacher_name(text_add_teacher_name.getText(); try gn.addcourse(g);
13、catch (Exception e1) / TODO Auto-generated catch block e1.printStackTrace(); /删除课程 delete_id = new JLabel( text_delete_id = new JTextField(20); delete = new JButton(删除 /为按钮b2添加监听器,当被按下时显示面板p中的第2个子面板 b2.addActionListener(new ActionListener() c.show(p, /显示p中代号为2的面板 p2.add(delete_id); p2.add(text_delet
14、e_id) ; p2.add(delete); delete.addActionListener(new ActionListener() int id = Integer.parseInt(text_delete_id.getText(); gn.delCourse(id); catch (SQLException e1) ); / 修改课程 update_id = new JLabel( text_update_id = new JTextField(30); update_name = new JLabel( text_update_name = new JTextField(30);
15、update_teacher_name = new JLabel( text_update_teacher_name = new JTextField(30); update = new JButton(修改 /以下类推 b3.addActionListener(new ActionListener() p3.add(update_id); p3.add(text_update_id); p3.add(update_name); p3.add(text_update_name); p3.add(update_teacher_name); p3.add(text_update_teacher_n
16、ame); p3.add(update); update.addActionListener(new ActionListener() int id = Integer.parseInt(text_update_id.getText(); g.setId(Integer.parseInt(text_update_id.getText(); g.setName(text_update_name.getText(); g.setTeacher_name(text_update_teacher_name.getText(); gn.updatecourse(g); /查询课程 query_id =
17、new JLabel( text_query_id = new JTextField(20); query = new JButton(查询 b4.addActionListener(new ActionListener() p4.add(query_id); p4.add(text_query_id); p4.add(query); query.addActionListener(new ActionListener() int id = Integer.parseInt(text_query_id.getText(); gn.get(id);底层增删改查功能import java.io.B
18、yteArrayInputStream;import java.sql.Date;import java.sql.PreparedStatement;import java.util.ArrayList;import java.util.List;import java.util.Map;public class GongNeng Cue cue = new Cue();/添加课程功能 public void addcourse(Course g) throws Exception List result = new ArrayList(); Connection conn = JDBC.ge
19、tConnection(); StringBuilder sb = new StringBuilder(); sb.append(select * from student_course PreparedStatement ptmt = conn.prepareStatement(sb.toString(); ResultSet rs = ptmt.executeQuery();/ ResultSet表示数据库结果集的数据表,通常通过执行查询数据库的语句生成,用while循环来表示结果集 int x = 1; while (rs.next() if(g.getId() = rs.getInt(
20、id) /当输入的课程号不存在的异常处理 x = 0; if(x=1) ptmt = conn.prepareStatement(insert into student_course(id,name,teacher_name) values(?,?) / SPreparedStatement是SQL语句被预编译并存储在 PreparedStatement / 对象中。然后可以使用此对象多次高效地执行该语句 ptmt.setInt(1, g.getId(); ptmt.setString(2,g.getName(); ptmt.setString(3, g.getTeacher_name();
21、ptmt.execute(); else cue.denglu(对不起,你输入的课程号已存在,请重新输入/修改课程功能 public void updatecourse(Course g) throws SQLException / ResultSet表示数据库结果集的数据表,通常通过执行查询数据库的语句生成 / 用while循环来表示结果集 int x = 0; x = 1; ptmt = conn .prepareStatement(update student_course set name = ?,teacher_name = ? where id = ? ptmt.setString(1, g.getName(); pt
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1