文章目录

  • SQL Server数据库设计
  • AddC
  • AddS
  • AddSC
  • DelC
  • DelS
  • DelSC
  • UpdateC
  • UpdateS
  • UpdateSC
  • SelC
  • SelS
  • SelSC

SQL Server数据库设计

Course表:
(1)设计

(2)数据

属性依次为:课程号、课程名、先修课课程号、学分
主键为课程号

Student表:
(1)设计

(2)数据

属性依次为:学号、姓名、性别、年龄、所在系系名
主键为学号

SC表:表示学生选课关系
(1)设计

(2)数据

属性依次为学号、课程号、分数
主键为学号、课程号

触发器:
1)在Student表上定义一个DELETE触发器,当删除一个学生记录时,自动删除SC表上这个学生的所有选课记录 。
2)在Course表上定义一个UPDA TE触发器,当更新一门课程的课程号时,自动修改SC表上这门课程的课程号 。
3) 在SC表上定义一个DELETE触发器,当删除一条选课记录时,若这条记录是这门课程的唯一被选记录,则同时删除Course表中的这门课程 。

数据库与java结合形成图形化界面。
以下为java程序:

完成数据库中数据的增删改查(Add、Del、Update、Sel)
我的数据库中只有三个表,所以完成这些功能需要12个类:

AddC

/*
AddC
*/
package sc;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.awt.event.*;public class AddC extends JPanel implements ActionListener{JTextField 课程号,课程名,先修课课程号,学分;JButton 录入;public AddC(){try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println("不能设置外观:   "+e);}课程号=new JTextField(12);课程名=new JTextField(12);先修课课程号=new JTextField(12);学分=new JTextField(12);录入=new JButton("录入");录入.addActionListener(this);Box box1=Box.createHorizontalBox();//横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();Box box6=Box.createHorizontalBox();box1.add(new JLabel("课程号:"));box1.add(课程号);box2.add(new JLabel("课程名:"));box2.add(课程名);box3.add(new JLabel("先修课课程号:"));box3.add(先修课课程号);box4.add(new JLabel("学分:"));box4.add(学分);box6.add(录入);Box boxH=Box.createVerticalBox();//竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box.createVerticalGlue());JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderLayout());add(messPanel,BorderLayout.CENTER);validate();
}
public void actionPerformed(ActionEvent c){Object obj=c.getSource();if(obj==录入){if(课程号.getText().equals("")||课程名.getText().equals("")||先修课课程号.getText().equals("")||学分.getText().equals("")){JOptionPane.showMessageDialog(this,"学生信息请填满再录入!" );}Statement stmt=null;ResultSet rs=null,rs1=null;String sql,sql1;sql1="select * from Course where Cno='"+课程号.getText()+"'";sql="insert into Course values('"+课程号.getText()+"','"+课程名.getText()+"','"+先修课课程号.getText()+"','"+学分.getText()+"')";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()){JOptionPane.showMessageDialog(this,"该课号以存在,无法添加");}else{stmt.executeUpdate(sql);    JOptionPane.showMessageDialog(this,"添加成功");}      rs1.close();stmt.close();}catch(SQLException e){System.out.print("SQL Exception occur.Message is:"+e.getMessage());}}
}
public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;
}}

AddS

/*
AddS
*/
package sc;
import java.awt.*;
import javax.swing.*;
import java.sql.*;
import java.awt.event.*;public  class AddS extends JPanel implements ActionListener{JTextField 学号,姓名,性别,年龄,所在系系名;JButton 录入;public AddS(){try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println("不能设置外观:   "+e);}学号=new JTextField(12);姓名=new JTextField(12);性别=new JTextField(12);年龄=new JTextField(12);所在系系名=new JTextField(12);录入=new JButton("录入");录入.addActionListener(this);Box box1=Box.createHorizontalBox();//横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();Box box6=Box.createHorizontalBox();box1.add(new JLabel("学号:"/*,JLabel.CENTER*/));box1.add(学号);box2.add(new JLabel("姓名:"/*,JLabel.CENTER*/));box2.add(姓名);box3.add(new JLabel("性别:"/*,JLabel.CENTER*/));box3.add(性别);box4.add(new JLabel("年龄:"/*,JLabel.CENTER*/));box4.add(年龄);box5.add(new JLabel("所在系系名:"/*,JLabel.CENTER*/));box5.add(所在系系名);box6.add(录入);Box boxH=Box.createVerticalBox();//竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box.createVerticalGlue());JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderLayout());add(messPanel,BorderLayout.CENTER);validate();}
public void actionPerformed(ActionEvent c){Object obj=c.getSource();if(obj==录入){if(学号.getText().equals("")||姓名.getText().equals("")||性别.getText().equals("")||年龄.getText().equals("")||所在系系名.getText().equals("")){JOptionPane.showMessageDialog(this,"学生信息请填满再录入!" );}Statement stmt=null;ResultSet rs1=null;String sql,sql1;sql1="select * from Student where Sno='"+学号.getText()+"'";sql="insert into Student values('"+学号.getText()+"','"+姓名.getText()+"','"+性别.getText()+"','"+年龄.getText()+"','"+所在系系名.getText()+"')";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()){JOptionPane.showMessageDialog(this,"该学号已经存在,无法添加");}else{stmt.executeUpdate(sql); JOptionPane.showMessageDialog(this,"添加成功");}      rs1.close();stmt.close();}catch(SQLException e){System.out.print("SQL Exception occur.Message is:"+e.getMessage());}}
}
public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;
}}

AddSC

/*
AddSC
*/
package sc;import java.awt.*;import javax.swing.*;import java.sql.*;
import java.util.*;
import javax.swing.filechooser.*;
import java.io.*;
import java.awt.event.*;public class AddSC extends JPanel implements ActionListener{JTextField 课程号,学号,成绩;JButton 录入;public AddSC(){try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println("不能设置外观:   "+e);}课程号=new JTextField(12);学号=new JTextField(12);成绩=new JTextField(12);录入=new JButton("录入");录入.addActionListener(this);Box box1=Box.createHorizontalBox();//横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();box1.add(new JLabel("课号:"));box1.add(课程号);box2.add(new JLabel("学号:"));box2.add(学号);box3.add(new JLabel("成绩:"));box3.add(成绩);box4.add(录入);Box boxH=Box.createVerticalBox();//竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue());JPanel messPanel=new JPanel();messPanel.add(boxH);setLayout(new BorderLayout());add(messPanel,BorderLayout.CENTER);validate();
}
public void actionPerformed(ActionEvent c){Object obj=c.getSource();if(obj==录入){if(课程号.getText().equals("")||学号.getText().equals("")){JOptionPane.showMessageDialog(this,"填写课号与学号才能录入!" );}else{Statement stmt=null;ResultSet rs=null,rs1=null,rsC=null,rsS=null;String sql,sql1,sqlS,sqlC;sqlC="select * from Course where Cno='"+课程号.getText()+"'";sqlS="select * from Student where Sno='"+学号.getText()+"'";sql1="select * from SC where Cno='"+课程号.getText()+"' and Sno='"+学号.getText()+"'";sql="insert into SC values('"+学号.getText()+"','"+课程号.getText()+"','"+成绩.getText()+"')";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rsC=stmt.executeQuery(sqlC);if(rsC.next()){rsS=stmt.executeQuery(sqlS);if(rsS.next()){rs1=stmt.executeQuery(sql1);if(rs1.next()){JOptionPane.showMessageDialog(this,"该学生以选该课程号,无法添加");}else{stmt.executeUpdate(sql);    JOptionPane.showMessageDialog(this,"添加成功");}rs1.close();}else{JOptionPane.showMessageDialog(this,"该学生不存在,无法添加");}rsS.close();}else{JOptionPane.showMessageDialog(this,"该课程不存在,无法添加");}rsC.close();stmt.close();}catch(SQLException e){System.out.print("SQL Exception occur.Message is:"+e.getMessage());}}}
}public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;}}

DelC

/*
DelC
*/
package sc;import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
public class DelC extends JPanel implements ActionListener{String save=null;JTextField 课号1,课程号,课程名,先修课课程号,学分;JButton 删除,查找;public DelC(){try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println("不能设置外观:   "+e);}课号1=new JTextField(12);课程号=new JTextField(12);课程名=new JTextField(12);先修课课程号=new JTextField(12);学分=new JTextField(12);删除=new JButton("删除");查找=new JButton("查找");Box box1=Box.createHorizontalBox();//横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();Box box6=Box.createHorizontalBox();Box box7=Box.createHorizontalBox();box1.add(new JLabel("课程号:",JLabel.CENTER));box1.add(课程号);box2.add(new JLabel("课程名:",JLabel.CENTER));box2.add(课程名);box3.add(new JLabel("先修课课程号:",JLabel.CENTER));box3.add(先修课课程号);box4.add(new JLabel("学分:",JLabel.CENTER));box4.add(学分);box6.add(删除);box7.add(new JLabel("课号:",JLabel.CENTER));box7.add(课号1);box7.add(查找);Box boxH=Box.createVerticalBox();//竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);//boxH.add(box7);boxH.add(Box.createVerticalGlue());删除.addActionListener(this);查找.addActionListener(this);JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();messPanel.add(box7);picPanel.add(boxH);setLayout(new BorderLayout());JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割add(splitV,BorderLayout.CENTER);validate();}
public void actionPerformed(ActionEvent e){Object obj=e.getSource();Statement stmt=null;ResultSet rs=null,rs1=null;String sql=null,sql1=null,sqlSC=null;if(obj==查找){if(课号1.getText().equals(""))JOptionPane.showMessageDialog(this,"请填写查询的课号!" );else{sql1="select * from Course where Cno='"+课号1.getText()+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()){课程号.setText(rs1.getString("Cno").trim());课程名.setText(rs1.getString("Cname").trim());先修课课程号.setText(rs1.getString("Cpno").trim());学分.setText(rs1.getString("Ccredit").trim());save=课号1.getText().trim();            }else{JOptionPane.showMessageDialog(this,"没有这个课号的课程" );}stmt.close();rs1.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}else{if(obj==删除){if(save==null)JOptionPane.showMessageDialog(this,"还没查找需要修改的课程" );else{sql="delete from Course where Cno='"+save+"'";sqlSC="delete from SC where Cno='"+save+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);stmt.executeUpdate(sql);stmt.executeUpdate(sqlSC);save=null;JOptionPane.showMessageDialog(this,"删除完成" );课程号.setText("");课程名.setText("");先修课课程号.setText("");学分.setText("");stmt.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}
}
}// 连接数据库方法
public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;
}}

DelS

/*
DelS
*/
package sc;import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;public class DelS extends JPanel implements ActionListener{String save=null;
JTextField 学号1,学号,姓名,性别,年龄,所在系系名;
JButton 删除,查找;public DelS(){try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println("不能设置外观:   "+e);}学号1=new JTextField(12);学号=new JTextField(12);姓名=new JTextField(12);性别=new JTextField(12);年龄=new JTextField(12);所在系系名=new JTextField(12);删除=new JButton("删除");查找=new JButton("查找");Box box1=Box.createHorizontalBox();//横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();Box box6=Box.createHorizontalBox();Box box7=Box.createHorizontalBox();box1.add(new JLabel("学号:",JLabel.CENTER));box1.add(学号);box2.add(new JLabel("姓名:",JLabel.CENTER));box2.add(姓名);box3.add(new JLabel("性别:",JLabel.CENTER));box3.add(性别);box4.add(new JLabel("年龄:",JLabel.CENTER));box4.add(年龄);box5.add(new JLabel("所在系系名:",JLabel.CENTER));box5.add(所在系系名);box6.add(删除);box7.add(new JLabel("学号:",JLabel.CENTER));box7.add(学号1);box7.add(查找);Box boxH=Box.createVerticalBox();//竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box.createVerticalGlue());删除.addActionListener(this);查找.addActionListener(this);JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();messPanel.add(box7);picPanel.add(boxH);setLayout(new BorderLayout());JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割add(splitV,BorderLayout.CENTER);validate();
}
public void actionPerformed(ActionEvent e){Object obj=e.getSource();Statement stmt=null;ResultSet rs=null,rs1=null;String sql=null,sql1=null,sqlSC=null;if(obj==查找){if(学号1.getText().equals(""))JOptionPane.showMessageDialog(this,"请填写查询的学号!" );else{sql1="select * from Student where Sno='"+学号1.getText()+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()){学号.setText(rs1.getString("Sno").trim());姓名.setText(rs1.getString("Sname").trim());性别.setText(rs1.getString("Ssex").trim());年龄.setText(rs1.getString("Sage").trim());所在系系名.setText(rs1.getString("Sdept").trim());save=学号1.getText().trim();    }else{JOptionPane.showMessageDialog(this,"没有这个学号的学生" );}stmt.close();rs1.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}else{if(obj==删除){if(save==null)JOptionPane.showMessageDialog(this,"还没查找需要修改的学生" );else{sql="delete from Student where Sno='"+save+"'";sqlSC="delete from SC where Sno='"+save+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);stmt.executeUpdate(sql);stmt.executeUpdate(sqlSC);save=null;JOptionPane.showMessageDialog(this,"删除完成" );学号.setText("");姓名.setText("");性别.setText("");年龄.setText("");所在系系名.setText("");stmt.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}}
}
public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;
}}

DelSC

/*
DelSC
*/
package sc;import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;public class DelSC extends JPanel implements ActionListener{String saveC=null;String saveS=null;JTextField 课号1,学号1,学号,课程号,成绩;JButton 删除,查找;public DelSC(){try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println("不能设置外观:   "+e);}学号1=new JTextField(12);课号1=new JTextField(12);课程号=new JTextField(12);学号=new JTextField(12);成绩=new JTextField(12);删除=new JButton("删除");查找=new JButton("查找");Box box1=Box.createHorizontalBox();//横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();box1.add(new JLabel("课程号:",JLabel.CENTER));box1.add(课程号);box2.add(new JLabel("学号:",JLabel.CENTER));box2.add(学号);box3.add(new JLabel("成绩:",JLabel.CENTER));box3.add(成绩);box4.add(删除);box5.add(new JLabel("课号:",JLabel.CENTER));box5.add(课号1);box5.add(new JLabel("学号:",JLabel.CENTER));box5.add(学号1);box5.add(查找);Box boxH=Box.createVerticalBox();//竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue());删除.addActionListener(this);查找.addActionListener(this);JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();messPanel.add(box5);picPanel.add(boxH);setLayout(new BorderLayout());JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割add(splitV,BorderLayout.CENTER);validate();}
public void actionPerformed(ActionEvent e){Object obj=e.getSource();Statement stmt=null;ResultSet rs=null,rs1=null;String sql=null,sql1=null;if(obj==查找){if(课号1.getText().equals("")||学号1.getText().equals(""))JOptionPane.showMessageDialog(this,"请填写完成查询的信息!" );else{sql1="select * from SC where Cno='"+课号1.getText()+"' and Sno='"+学号1.getText()+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()){课程号.setText(rs1.getString("Cno").trim());学号.setText(rs1.getString("Sno").trim());成绩.setText(rs1.getString("grade").trim());saveC=课号1.getText().trim();  saveS=学号1.getText().trim();}else{JOptionPane.showMessageDialog(this,"没有这个课号的学生" );}stmt.close();rs1.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}else{if(obj==删除){if(saveC==null||saveS==null)JOptionPane.showMessageDialog(this,"还没查找需要修改的学生/课程" );else{sql="delete from SC where Cno='"+saveC+"' and Sno='"+saveS+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);stmt.executeUpdate(sql);saveC=null;saveS=null;JOptionPane.showMessageDialog(this,"删除完成" );课程号.setText("");学号.setText("");成绩.setText("");stmt.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}
}
}
public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;
}}

UpdateC

/*
UpdateC
*/
package sc;import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;public class UpdateC extends JPanel implements ActionListener{String save=null;JTextField 课号1,课程号,课程名,先修课课程号,学分;JButton 修改,查找;public UpdateC(){try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println("不能设置外观:   "+e);}课号1=new JTextField(12);课程号=new JTextField(12);课程名=new JTextField(12);先修课课程号=new JTextField(12);学分=new JTextField(12);修改=new JButton("修改");查找=new JButton("查找");Box box1=Box.createHorizontalBox();//横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();Box box6=Box.createHorizontalBox();Box box7=Box.createHorizontalBox();box1.add(new JLabel("课程号:",JLabel.CENTER));box1.add(课程号);box2.add(new JLabel("课程名:",JLabel.CENTER));box2.add(课程名);box3.add(new JLabel("先修课课程号:",JLabel.CENTER));box3.add(先修课课程号);box4.add(new JLabel("学分:",JLabel.CENTER));box4.add(学分);box6.add(修改);box7.add(new JLabel("课号:",JLabel.CENTER));box7.add(课号1);box7.add(查找);Box boxH=Box.createVerticalBox();//竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);修改.addActionListener(this);查找.addActionListener(this);boxH.add(Box.createVerticalGlue());JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();messPanel.add(box7);picPanel.add(boxH);setLayout(new BorderLayout());JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割add(splitV,BorderLayout.CENTER);validate();
}public void actionPerformed(ActionEvent e){Object obj=e.getSource();Statement stmt=null;ResultSet rs=null,rs1=null;String sql=null,sql1=null,sqlSC=null;if(obj==查找){if(课号1.getText().equals(""))JOptionPane.showMessageDialog(this,"请填写查询的课号!" );else{sql1="select * from Course where Cno='"+课号1.getText()+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()){课程号.setText(rs1.getString("Cno").trim());课程名.setText(rs1.getString("Cname").trim());先修课课程号.setText(rs1.getString("Cpno").trim());学分.setText(rs1.getString("Ccredit").trim());save=课号1.getText();          }else{JOptionPane.showMessageDialog(this,"没有这个课号的课程" );}stmt.close();rs1.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}else{if(obj==修改){if(save==null){JOptionPane.showMessageDialog(this,"还没查找需要修改的课程" );}else{if(课程号.getText().equals("")||课程名.getText().equals("")||先修课课程号.getText().equals("")||学分.getText().equals("")){JOptionPane.showMessageDialog(this,"课程信息填满才能修改!" );}else{sql="update Course set Cno='"+课程号.getText()+"',Cname='"+课程名.getText()+"',Cpno='"+先修课课程号.getText()+"',Ccredit='"+学分.getText()+"' where Cno='"+save+"'";if(save.trim().equals(课程号.getText().trim())){try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);stmt.executeUpdate(sql);save=null;JOptionPane.showMessageDialog(this,"修改完成" );课程号.setText("");课程名.setText("");stmt.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}else{sql1="select * from Course where Cno='"+课程号.getText()+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()){    JOptionPane.showMessageDialog(this,"已存在此课号课程" );}else{sqlSC="update SC set Cno='"+课程号.getText()+"' where Cno='"+save+"'";stmt.executeUpdate(sql);stmt.executeUpdate(sqlSC);save=null;JOptionPane.showMessageDialog(null,"修改完成" );课程号.setText("");课程名.setText("");先修课课程号.setText("");学分.setText("");}stmt.close();rs1.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}}}}
}
public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;
}}

UpdateS

/*
UpdateS
*/
package sc;import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;public class UpdateS extends JPanel implements ActionListener{String save=null;JTextField 学号1,学号,姓名,性别,年龄,所在系系名;JButton 修改,查找;public UpdateS(){try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println("不能设置外观:   "+e);}学号1=new JTextField(12);学号=new JTextField(12);姓名=new JTextField(12);性别=new JTextField(12);年龄=new JTextField(12);所在系系名=new JTextField(12);修改=new JButton("修改");查找=new JButton("查找");Box box1=Box.createHorizontalBox();//横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();Box box6=Box.createHorizontalBox();Box box7=Box.createHorizontalBox();box1.add(new JLabel("学号:",JLabel.CENTER));box1.add(学号);box2.add(new JLabel("姓名:",JLabel.CENTER));box2.add(姓名);box3.add(new JLabel("性别:",JLabel.CENTER));box3.add(性别);box4.add(new JLabel("年龄:",JLabel.CENTER));box4.add(年龄);box5.add(new JLabel("所在系系名:",JLabel.CENTER));box5.add(所在系系名);box6.add(修改);box7.add(new JLabel("学号:",JLabel.CENTER));box7.add(学号1);box7.add(查找);修改.addActionListener(this);查找.addActionListener(this);Box boxH=Box.createVerticalBox();//竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(box5);boxH.add(box6);boxH.add(Box.createVerticalGlue());JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();messPanel.add(box7);picPanel.add(boxH);setLayout(new BorderLayout());JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割add(splitV,BorderLayout.CENTER);validate();
}public void actionPerformed(ActionEvent e){Object obj=e.getSource();Statement stmt=null;ResultSet rs=null,rs1=null;String sql=null,sql1=null,sqlSC;if(obj==查找){if(学号1.getText().equals(""))JOptionPane.showMessageDialog(this,"请填写查询的学号!" );else{sql1="select * from Student where Sno='"+学号1.getText()+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()){学号.setText(rs1.getString("Sno").trim());姓名.setText(rs1.getString("Sname").trim());性别.setText(rs1.getString("Ssex").trim());年龄.setText(rs1.getString("Sage").trim());所在系系名.setText(rs1.getString("Sdept").trim());save=学号1.getText();         }else{JOptionPane.showMessageDialog(this,"没有这个学号的学生" );}stmt.close();rs1.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}else{if(obj==修改){if(save==null){JOptionPane.showMessageDialog(this,"还没查找需要修改的学生" );}else{if(学号.getText().equals("")||姓名.getText().equals("")||性别.getText().equals("")||年龄.getText().equals("")||所在系系名.getText().equals("")){JOptionPane.showMessageDialog(this,"学生信息填满才能修改!" );}else{sql="update Student set Sno='"+学号.getText()+"',Sname='"+姓名.getText()+"',Ssex='"+性别.getText()+"',Sage='"+年龄.getText()+"',Sdept='"+所在系系名.getText()+"'where Sno='"+save+"'";if(save.trim().equals(学号.getText().trim())){try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);stmt.executeUpdate(sql);save=null;JOptionPane.showMessageDialog(this,"修改完成" );学号.setText("");姓名.setText("");性别.setText("");年龄.setText("");所在系系名.setText("");stmt.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}else{sql1="select * from Student where Sno='"+学号.getText()+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()){   JOptionPane.showMessageDialog(this,"已存在此学号学生" );}else{sqlSC="update SC set Sno='"+学号.getText()+"' where Sno='"+save+"'";stmt.executeUpdate(sql);stmt.executeUpdate(sqlSC);save=null;JOptionPane.showMessageDialog(null,"修改完成" );学号.setText("");姓名.setText("");性别.setText("");年龄.setText("");所在系系名.setText("");}stmt.close();rs1.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}}}}
}
public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;
}}

UpdateSC

/*
UpdateSC
*/
package sc;import java.awt.*;
import java.awt.event.*;
import java.sql.*;import javax.swing.*;
public class UpdateSC extends JPanel implements ActionListener{String saveC=null;String saveS=null;JTextField 课号1,学号1,学号,课程号,成绩;JButton 修改,查找;public UpdateSC(){try {UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());}catch(Exception e){System.err.println("不能设置外观:   "+e);}学号1=new JTextField(12);课号1=new JTextField(12);课程号=new JTextField(12);学号=new JTextField(12);成绩=new JTextField(12);修改=new JButton("修改");查找=new JButton("查找");Box box1=Box.createHorizontalBox();//横放boxBox box2=Box.createHorizontalBox();Box box3=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();box1.add(new JLabel("课程号:",JLabel.CENTER));box1.add(课程号);box2.add(new JLabel("学号:",JLabel.CENTER));box2.add(学号);box3.add(new JLabel("成绩:",JLabel.CENTER));box3.add(成绩);box4.add(修改);box5.add(new JLabel("课号:",JLabel.CENTER));box5.add(课号1);box5.add(new JLabel("学号:",JLabel.CENTER));box5.add(学号1);box5.add(查找);Box boxH=Box.createVerticalBox();//竖放boxboxH.add(box1);boxH.add(box2);boxH.add(box3);boxH.add(box4);boxH.add(Box.createVerticalGlue());修改.addActionListener(this);查找.addActionListener(this);JPanel picPanel=new JPanel();JPanel messPanel=new JPanel();messPanel.add(box5);picPanel.add(boxH);setLayout(new BorderLayout());JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割add(splitV,BorderLayout.CENTER);validate();
}
public void actionPerformed(ActionEvent e){Object obj=e.getSource();Statement stmt=null;ResultSet rs=null,rs1=null,rsC=null,rsS=null;String sql,sql1,sqlS,sqlC;if(obj==查找){if(课号1.getText().equals("")||学号1.getText().equals(""))JOptionPane.showMessageDialog(this,"请填写完成查询的信息!" );else{sql1="select * from SC where Cno='"+课号1.getText()+"' and Sno='"+学号1.getText()+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs1=stmt.executeQuery(sql1);if(rs1.next()){课程号.setText(rs1.getString("Cno").trim());学号.setText(rs1.getString("Sno").trim());成绩.setText(rs1.getString("grade").trim());saveC=课号1.getText().trim();    saveS=学号1.getText().trim();}else{JOptionPane.showMessageDialog(this,"没有这个课号的学生" );}stmt.close();rs1.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}else{if(obj==修改){if(saveC==null||saveS==null)JOptionPane.showMessageDialog(this,"还没查找需要修改的学生/课程" );else{if(课程号.getText().equals("")||学号.getText().equals("")){JOptionPane.showMessageDialog(this,"课程信息填满才能修改!" );}else{sqlC="select * from Course where Cno='"+课程号.getText()+"'";sqlS="select * from Student where Sno='"+学号.getText()+"'";sql1="select * from SC where Cno='"+课程号.getText()+"' and Sno='"+学号.getText()+"'";sql="update SC set Cno='"+课程号.getText()+"',Sno='"+学号.getText()+"',grade='"+成绩.getText()+"' where Cno='"+saveC+"' and Sno='"+saveS+"'";try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rsC=stmt.executeQuery(sqlC);if(rsC.next()){rsS=stmt.executeQuery(sqlS);if(rsS.next()){if(课程号.getText().trim().equals(saveC)&& 学号.getText().trim().equals(saveS)){stmt.executeUpdate(sql);    JOptionPane.showMessageDialog(this,"添加成功");saveC=null;saveS=null;}else{rs1=stmt.executeQuery(sql1);if(rs1.next()){JOptionPane.showMessageDialog(this,"学生与课程号以存在,无法修改");}else{stmt.executeUpdate(sql); JOptionPane.showMessageDialog(this,"添加成功");saveC=null;saveS=null;               }rs1.close();}}                     else{JOptionPane.showMessageDialog(this,"该学生不存在,无法修改");}rsS.close();}else{JOptionPane.showMessageDialog(this,"该课程不存在,无法修改");}rsC.close();stmt.close();}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}}
}
}
}
public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;
}}

SelC

/*
SelC
*/
package sc;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;import java.util.*;public class SelC extends JFrame {Vector rowData, columnNames;Statement stmt=null;String sql=null;JTable jt = null;JScrollPane jsp = null;PreparedStatement ps=null;ResultSet rs=null;public SelC(String sql1){columnNames = new Vector();// 设置列名columnNames.add("课程号");columnNames.add("课程名");columnNames.add("先修课课程号");columnNames.add("学分");rowData=new Vector();sql=sql1;try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);while(rs.next()){Vector hang = new Vector();hang.add(rs.getString("Cno"));System.out.print(rs.getString("Cno"));hang.add(rs.getString("Cname"));System.out.print(rs.getString("Cname"));hang.add(rs.getString("Cpno"));System.out.print(rs.getString("Cpno"));hang.add(rs.getString("Ccredit"));System.out.print(rs.getString("Ccredit"));rowData.add(hang);}jt=new JTable(rowData,columnNames);jsp=new JScrollPane(jt);this.add(jsp);this.setSize(400,300);this.setVisible(true);}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}
}
public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;
}}

SelS

/*
SelS
*/
package sc;import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
public class SelS extends JPanel implements ActionListener{JTextField 学号,姓名,性别,年龄,所在系系名;JButton 查找;JTextField 课程号,课程名,先修课课程号,学分;JButton 查找1;JTextField 课号1,学号1,成绩;JButton 查找2;public SelS (){学号=new JTextField(12);姓名=new JTextField(12);性别=new JTextField(12);年龄=new JTextField(12);所在系系名=new JTextField(12);课程号=new JTextField(12);课程名=new JTextField(12);先修课课程号=new JTextField(12);学分=new JTextField(12);课号1=new JTextField(12);学号1=new JTextField(12);成绩=new JTextField(12);查找=new JButton("查找学生信息");查找1=new JButton("查找课程信息");查找2=new JButton("查找选课信息");Box box1=Box.createHorizontalBox();//横放boxBox box2=Box.createHorizontalBox();Box box4=Box.createHorizontalBox();Box box5=Box.createHorizontalBox();Box box6=Box.createHorizontalBox();Box box7=Box.createHorizontalBox();box1.add(new JLabel("学号:",JLabel.CENTER));box1.add(学号);box1.add(new JLabel("姓名:",JLabel.CENTER));box1.add(姓名);box1.add(new JLabel("性别:",JLabel.CENTER));box1.add(性别);box1.add(new JLabel("年龄:",JLabel.CENTER));box1.add(年龄);box1.add(new JLabel("所在系系名:",JLabel.CENTER));box1.add(所在系系名);box2.add(查找);box4.add(new JLabel("课程号:",JLabel.CENTER));box4.add(课程号);box4.add(new JLabel("课程名:",JLabel.CENTER));box4.add(课程名);box4.add(new JLabel("先修课课程号:",JLabel.CENTER));box4.add(先修课课程号);box4.add(new JLabel("学分:",JLabel.CENTER));box4.add(学分);box6.add(查找1);box5.add(new JLabel("课程号:",JLabel.CENTER));box5.add(课号1);box5.add(new JLabel("学号:",JLabel.CENTER));box5.add(学号1);box5.add(new JLabel("成绩:",JLabel.CENTER));box5.add(成绩);box7.add(查找2);Box boxH1=Box.createVerticalBox();//竖放boxboxH1.add(box1);boxH1.add(box2);boxH1.add(Box.createVerticalGlue());Box boxH2=Box.createVerticalBox();//竖放boxboxH2.add(box4);boxH2.add(box6);boxH2.add(Box.createVerticalGlue()); Box boxH3=Box.createVerticalBox();//竖放boxboxH3.add(box5);boxH3.add(box7);boxH3.add(Box.createVerticalGlue()); 查找.addActionListener(this);查找1.addActionListener(this);查找2.addActionListener(this);JPanel messPanel=new JPanel();JPanel picPanel=new JPanel();JPanel threePanel=new JPanel();messPanel.add(boxH1);picPanel.add(boxH2);threePanel.add(boxH3);setLayout(new BorderLayout());JSplitPane splitV=new JSplitPane(JSplitPane.VERTICAL_SPLIT,messPanel,picPanel);//分割add(splitV,BorderLayout.CENTER);JSplitPane splitV1=new JSplitPane(JSplitPane.VERTICAL_SPLIT,splitV,threePanel);//分割add(splitV1,BorderLayout.CENTER);validate();}public void actionPerformed(ActionEvent c){Object obj=c.getSource();Statement stmt=null;ResultSet rs=null;int row=0;int i=0;String sql=null;//Student K;SelC K1;SelSC K2;if(obj==查找){          if(学号.getText().equals("")&&姓名.getText().equals("")&&性别.getText().equals("")&&年龄.getText().equals("")&&所在系系名.getText().equals("")){sql="select * from Student ";System.out.print("00");//00}else if(学号.getText().equals("")){if(姓名.getText().equals("")){if(性别.getText().equals("")){if(年龄.getText().equals("")) {sql="select * from Student where Sdept like'%"+所在系系名.getText()+"%'";System.out.print("10");}else {if(所在系系名.getText().equals("")) {sql="select * from Student where Sage like'%"+年龄.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'";}}}else {if(年龄.getText().equals("")) {if(所在系系名.getText().equals("")) {sql="select * from Student where Ssex like'%"+性别.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Ssex like'%"+性别.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'";}}else {if(所在系系名.getText().equals("")) {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Ssex like '%"+性别.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Ssex like '%"+性别.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'";}}}}else{if(性别.getText().equals("")){if(年龄.getText().equals("")) {if(所在系系名.getText().equals("")) {sql="select * from Student where Sname like'%"+姓名.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sname like'%"+姓名.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'";}}else {if(所在系系名.getText().equals("")) {sql="select * from Student where Sname like'%"+姓名.getText()+"%'and Sage like '%"+年龄.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sname like'%"+姓名.getText()+"%'and Sage like '%"+年龄.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'";}}}else {if(年龄.getText().equals("")) {if(所在系系名.getText().equals("")) {sql="select * from Student where Ssex like'%"+性别.getText()+"%'and Sname like '%"+姓名.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Ssex like'%"+性别.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'and Sname like '%"+姓名.getText()+"%'";}}else {if(所在系系名.getText().equals("")) {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Ssex like '%"+性别.getText()+"%'and Sname like '%"+姓名.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Ssex like '%"+性别.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'and Sname like '%"+姓名.getText()+"%'";}}}}}else{if(姓名.getText().equals("")){if(性别.getText().equals("")){if(年龄.getText().equals("")) {if(所在系系名.getText().equals("")) {sql="select * from Student where Sno like'%"+学号.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sno like'%"+学号.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'";}}else {if(所在系系名.getText().equals("")) {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Sno like '%"+学号.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'and Sno like '%"+姓名.getText()+"%'";}}}else {if(年龄.getText().equals("")) {if(所在系系名.getText().equals("")) {sql="select * from Student where Ssex like'%"+性别.getText()+"%'and Sno like '%"+学号.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Ssex like'%"+性别.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'and Sno like '%"+学号.getText()+"%'";}}else {if(所在系系名.getText().equals("")) {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Ssex like '%"+性别.getText()+"%'and Sno like '%"+学号.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Ssex like '%"+性别.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'and Sno like '%"+学号.getText()+"%'";}}}}else{if(性别.getText().equals("")){if(年龄.getText().equals("")) {if(所在系系名.getText().equals("")) {sql="select * from Student where Sname like'%"+姓名.getText()+"%'and Sno like '%"+学号.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sname like'%"+姓名.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'and Sno like '%"+学号.getText()+"%'";}}else {if(所在系系名.getText().equals("")) {sql="select * from Student where Sname like'%"+姓名.getText()+"%'and Sage like '%"+年龄.getText()+"%'and Sno like '%"+学号.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sname like'%"+姓名.getText()+"%'and Sage like '%"+年龄.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'and Sno like '%"+学号.getText()+"%'";}}}else {if(年龄.getText().equals("")) {if(所在系系名.getText().equals("")) {sql="select * from Student where Ssex like'%"+性别.getText()+"%'and Sname like '%"+姓名.getText()+"%'and Sno like '%"+学号.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Ssex like'%"+性别.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'and Sname like '%"+姓名.getText()+"%'and Sno like '%"+学号.getText()+"%'";}}else {if(所在系系名.getText().equals("")) {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Ssex like '%"+性别.getText()+"%'and Sname like '%"+姓名.getText()+"%'and Sno like '%"+学号.getText()+"%'";System.out.print("10");}else {sql="select * from Student where Sage like'%"+年龄.getText()+"%'and Ssex like '%"+性别.getText()+"%'and Sdept like '%"+所在系系名.getText()+"%'and Sname like '%"+姓名.getText()+"%'and Sno like '%"+学号.getText()+"%'";}}}}}//K=new Student(sql);}else{if(obj==查找1){if(课程号.getText().equals("")&&课程名.getText().equals("")&&先修课课程号.getText().equals("")&&学分.getText().equals("")){sql="select * from Course ";System.out.print("00");//00}else if(课程号.getText().equals("")){if(课程名.getText().equals("")){if(先修课课程号.getText().equals("")){sql="select * from Course where Ccredit like'%"+学分.getText()+"%'";System.out.print("10");}else {if(学分.getText().equals("")) {sql="select * from Course where Cpno like'%"+先修课课程号.getText()+"%'";System.out.print("10");}else {sql="select * from Course where Cpno like'%"+先修课课程号.getText()+"%'and Ccredit like '%"+学分.getText()+"%'";}}}else {if(先修课课程号.getText().equals("")&&学分.getText().equals("")){sql="select * from Course where Cno like'%"+课程号.getText()+"%'";System.out.print("10");}else {if(先修课课程号.getText().equals("")){sql="select * from Course where Ccredit like'%"+学分.getText()+"%'and Cno like '%"+课程号.getText()+"%'";System.out.print("10");}else {if(学分.getText().equals("")) {sql="select * from Course where Cpno like'%"+先修课课程号.getText()+"%'and Cno like '%"+课程号.getText()+"%'";System.out.print("10");}else {sql="select * from Course where Cpno like'%"+先修课课程号.getText()+"%'and Cno like '%"+课程号.getText()+"%'and Ccredit like '%"+学分.getText()+"%'";}}}}}else {if(课程名.getText().equals("")){if(先修课课程号.getText().equals("")){if(学分.getText().equals("")) {sql="select * from Course where Cno like'%"+课程号.getText()+"%'";System.out.print("10");}else {sql="select * from Course where Ccredit like'%"+学分.getText()+"%'and Cno like '%"+课程号.getText()+"%'";System.out.print("10");}}else {if(学分.getText().equals("")) {sql="select * from Course where Cpno like'%"+先修课课程号.getText()+"%'and Cno like '%"+课程号.getText()+"%'";System.out.print("10");}else {sql="select * from Course where Ccredit like'%"+学分.getText()+"%'and Cpno like '%"+先修课课程号.getText()+"%'and Cno like '%"+课程号.getText()+"%'";System.out.print("10");}}}else {if(先修课课程号.getText().equals("")){if(学分.getText().equals("")) {sql="select * from Course where Cno like'%"+课程号.getText()+"%'and Cname like '%"+课程名.getText()+"%'";System.out.print("10");}else {sql="select * from Course where Ccredit like'%"+学分.getText()+"%'and Cno like '%"+课程号.getText()+"%'and Cname like '%"+课程名.getText()+"%'";System.out.print("10");}}else {if(学分.getText().equals("")) {sql="select * from Course where Cpno like'%"+先修课课程号.getText()+"%'and Cno like '%"+课程号.getText()+"%'and Cname like '%"+课程名.getText()+"%'";System.out.print("10");}else {sql="select * from Course where Ccredit like'%"+学分.getText()+"%'and Cpno like '%"+先修课课程号.getText()+"%'and Cno like '%"+课程号.getText()+"%'and Cname like '%"+课程名.getText()+"%'";System.out.print("10");}}}}                 K1=new SelC(sql);}else{if(obj==查找2){if(课号1.getText().equals("")&&学号1.getText().equals("")&&成绩.getText().equals("")){sql="select SC.Cno,Cname,SC.Sno,Sname,grade from SC,Course,Student where Course.Cno=SC.Cno and Student.Sno=SC.Sno";System.out.print("000");//000}else{if(课号1.getText().equals("")){if(学号1.getText().equals("")){sql="select SC.Cno,Cname,SC.Sno,Sname,grade from SC,Course,Student where grade like'%"+成绩.getText()+"%' and Course.Cno=SC.Cno and Student.Sno=SC.Sno";System.out.print("001");}else{if(成绩.getText().equals("")){sql="select SC.Cno,Cname,SC.Sno,Sname,grade from SC,Course,Student where SC.Sno like'%"+学号1.getText()+"%' and Course.Cno=SC.Cno and Student.Sno=SC.Sno";System.out.print("010");}else{sql="select SC.Cno,Cname,SC.Sno,Sname,grade from SC,Course,Student where SC.Sno like'%"+学号1.getText()+"%'and grade like'%"+成绩.getText()+"%' and Course.Cno=SC.Cno and Student.Sno=SC.Sno";System.out.print("011");}}}else{if(学号1.getText().equals("")){if(成绩.getText().equals("")){sql="select SC.Cno,Cname,SC.Sno,Sname,grade from SC,Course,Student where SC.Cno like'%"+课号1.getText()+"%' and Course.Cno=SC.Cno and Student.Sno=SC.Sno";System.out.print("100");}else{sql="select SC.Cno,Cname,SC.Sno,Sname,grade from SC,Course,Student where SC.Cno like'%"+课号1.getText()+"%' and grade like'%"+成绩.getText()+"%' and Course.Cno=SC.Cno and Student.Sno=SC.Sno";System.out.print("101");}}else{if(成绩.getText().equals("")){sql="select SC.Cno,Cname,SC.Sno,Sname,grade from SC,Course,Student where  SC.Cno like'%"+课号1.getText()+"%' and SC.Sno like'%"+学号1.getText()+"%' and Course.Cno=SC.Cno and Student.Sno=SC.Sno";System.out.print("110");}else{sql="select SC.Cno,Cname,SC.Sno,Sname,grade from SC,Course,Student where  SC.Cno like'%"+课号1.getText()+"%' and SC.Sno like'%"+学号1.getText()+"%' and grade like'%"+成绩.getText()+"%' and Course.Cno=SC.Cno and Student.Sno=SC.Sno";System.out.print("111");}}}}K2=new SelSC(sql);}}}}
}

SelSC

/*
SelSC
*/
package sc;import java.sql.*;
import javax.swing.*;
//import connection.java;
import java.util.*;public class SelSC extends JFrame {Vector rowData, columnNames;Statement stmt=null;String sql=null;JTable jt = null;JScrollPane jsp = null;PreparedStatement ps=null;ResultSet rs=null;public SelSC(String sql1){columnNames = new Vector();// 设置列名columnNames.add("课程号");columnNames.add("学号");columnNames.add("成绩");rowData=new Vector();sql=sql1;try{Connection dbConn1=CONN();stmt=(Statement)dbConn1.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);rs=stmt.executeQuery(sql);while(rs.next()){Vector hang = new Vector();hang.add(rs.getString("Sno"));System.out.print(rs.getString("Sno"));hang.add(rs.getString("Cno"));System.out.print(rs.getString("Cno"));hang.add(rs.getString("grade"));System.out.println(rs.getString("grade"));rowData.add(hang);}jt=new JTable(rowData,columnNames);jsp=new JScrollPane(jt);this.add(jsp);this.setSize(400,300);this.setVisible(true);}catch(SQLException e1){System.out.print("SQL Exception occur.Message is:"+e1.getMessage());}}public static Connection CONN(){String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";   //加载JDBC驱动String dbURL = "jdbc:sqlserver://主机名:1433; DatabaseName=数据库名";   //连接服务器和数据库testString userName = "sa";   //默认用户名String userPwd = "密码";   //密码Connection dbConn=null;try {Class.forName(driverName);dbConn = DriverManager.getConnection(dbURL, userName, userPwd);System.out.println("Connection Successful!");   //如果连接成功 控制台输出Connection Successful!} catch (Exception e) {e.printStackTrace();}return dbConn;}}

数据库课程设计(上)(学生成绩管理系统)相关推荐

  1. 【Python课程设计】学生成绩管理系统

    [Python课程设计]学生成绩管理系统 1.需求分析 2.功能设计与分析 1.使用数据库对数据进行存取 (1)使用PyMySQL模块操作数据库对数据进行存取 (2)创建数据库school,创建数据表 ...

  2. 大学生课程设计 ------ Java Web课程设计(学生成绩管理系统01)

    大学生课程设计 ------ Java Web课程设计(学生成绩管理系统01) Java Web课程设计(代码+课程报告) 课程作业效果如下: 学生1:后台实现.数据库设计.前端后台整合 学生2:前端 ...

  3. c语言声明第一个学生的成绩,C语言课程设计报告--学生成绩管理系统

    <C语言课程设计报告--学生成绩管理系统>由会员分享,可在线阅读,更多相关<C语言课程设计报告--学生成绩管理系统(30页珍藏版)>请在人人文库网上搜索. 1.学生成绩管理系统 ...

  4. 大学生课程设计 ------ Java Web课程设计(学生成绩管理系统03)

    大学生课程设计 ------ Java Web课程设计(学生成绩管理系统03) Java Web课程设计(代码+课程报告) ---------------------我是分割线------------ ...

  5. 学生成绩管理系统mysql课程设计_学生成绩管理系统数据库课程设计报告.doc

    目 录 TOC \o "1-2" \h \z \u HYPERLINK \l "_Toc303696065" 1.开发背景 PAGEREF _Toc303696 ...

  6. Web课程设计之学生成绩管理系统

    Web课设之学生成绩管理系统 一.实验题目 二.实验目的 三.总体设计 3.1 实验要求: 3.2 本系统所运用到的技术栈: 3.3 本系统所运用的编程工具 3.4 核心技术介绍 3.5 模块介绍 3 ...

  7. 程序设计课程设计报告(学生成绩管理系统)

    程序设计课程设计报告 课程设计题目及内容 题目:学生成绩管理系统 设计要求及提示如下: (1).设计一个学生类Student,包括数据成员:姓名.学号.二门课程(面向对象程序设计.高等数学)的成绩. ...

  8. Python课程设计:学生成绩管理系统(附源代码)

    版权声明:本文为CSDN博主「大格子嘞」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明.原文链接: https://blog.csdn.net/qq_43971504 ...

  9. C语言课程设计(1)-学生成绩管理系统

    源码.经验交流QQ群:613879714,有问题QQ群提问,这里不能及时回复 1. 主要功能 输入学生数据 显示学生数据 计算成绩 成绩排序 成绩查找 成绩修改 添加学生数据 删除学生成绩 2.演示 ...

  10. 数据结构课程设计(学生成绩管理系统)

    #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX 200 typedef ...

最新文章

  1. 释疑のSmartforms点打印无反应
  2. java db 程序_JAVA连接数据库的简单程序
  3. 【Qt】Qt中QJsonDocument 类
  4. 从零写一个编译器(六):语法分析之表驱动语法分析
  5. 揭秘!月薪30K的大牛到底看了哪些视频?【共2000G】
  6. 电脑引起“心理死亡”
  7. UR5 IK group中遇到的问题
  8. 微信号承载私域流量的9条心得
  9. webstorm2017.1.3破解教程
  10. Linux 内核第一宏
  11. Win10系统Qt安装及配置
  12. 给ibus-rime输入法添加小鹤双拼方案
  13. win gvim erlang 环境配置
  14. Merkle tree proof
  15. PULT:Progressive Unsupervised Learning for Visual Object Tracking(用于视觉目标跟踪的渐进式无监督学习)
  16. 接私活必备的几个开源项目!收藏
  17. 快速说唱教学第二期:反拍是什么?难吗?个人唱腔有多重要?
  18. 高通骁龙845的android手机有哪些,骁龙845手机有哪些 2018搭载高通骁龙845的手机推荐...
  19. IATF16949认证咨询——IATF16949质量管理体系文件编制检查辅导
  20. 【Matlab小问题】记一次simulink修改后保存就会崩溃问题解决

热门文章

  1. 【统计分析】(task5) 金融量化分析与随机模拟(通过随机模拟估计看涨期权的报酬分布)
  2. 如何向开源社区贡献代码
  3. 压力传感器与数据采集
  4. 沪深交易所level2行情
  5. 网络舆情危及企业经营如何应对?舆情优化十大解决方案!
  6. 利用百度云盘同步Zotero
  7. 51单片机的直流电机PWM调速控制系统(附Proteus仿真+C程序等全套资料)
  8. java软件工程师自我评价_Java开发工程师岗位自我评价怎么写
  9. jk触发器改为四进制_数字电路学习笔记(十):更多锁存器和触发器
  10. 【openjudge 计算概论(A)】[基础编程练习(运算成分)]