这个是我大三上学期的时候刚开始学习数据库课程的时候做的一个很稀烂的课程设计的源代码,当时刚刚开始学习Java和Oracle,而且当时就花了今年元旦3天假,做的这个C/S程序中没有加入触发器和存储过程等高级PL/SQL编程,粗糙程度可见一斑。另外由于开始做的时候没注意,有一个致命硬伤:就是没有考虑级联更新的问题,导致有的时候不能删除表中的记录。当然在我这学期在闲下来的时候重新把这些地方都做了修改,因为修改的时候没有改这份文档(这篇文章中所有的代码都是直接从原始文档中复制粘贴的,而且因为我做的时候觉得比较简单,连代码的注释都没加),不过也算是很直观的看出我去年的水平是多么的稀烂。若干年以后,我再来看自己做的这个东西,我应该会笑自己当时为了赶时间做的这个要质量没质量,连很多Java控件都没搞清楚的学生成绩管理系统。
用的后台数据库是:Oracle Database Enterprise Edition Release 10.2.0.1.0。数据库的SID:XSCJ,密码:qazwsx。
堆代码用的IDE:Oracle JDeveloper 11g
以下是数据库中建表以及添加表中数据的SQL脚本,我已经排好顺序,可以一次性运行。
//全部SQL语句createtablestudent(
snointnotnullprimarykey,
namevarchar2(10)notnull,
sexvarchar2(3)notnull,
birthdaydatenotnull,
classvarchar2(5)
);
createtableteacher(
tnointnotnullprimarykey,
namevarchar2(10)notnull,
sexvarchar2(3)notnull,
birthdaydatenotnull,
profvarchar2(8)notnull,
departvarchar2(20)notnull);
createtablecourse(
cnovarchar2(6)notnullprimarykey,
cnamevarchar2(20)notnull,
tnointnotnull,
foreignkey(tno)referencesteacher(tno)
);
createtablescore(
snointnotnull,
cnovarchar2(6)notnull,
degreeint,
foreignkey(sno)referencesstudent(sno),
foreignkey(cno)referencescourse(cno)
);
createtableusers(
userIDvarchar2(20)primarykey,
passwordvarchar2(20)notnull,
quanxianintnotnull,
constraintquanxian_setcheck(quanxian>=1andquanxian<=2)
)
insertintousersvalues(
'Derek','123456',2);
insertintousersvalues(
'洪志恒','123456',1);
insertintousersvalues(
'马新星','123456',1);
insertintousersvalues(
'方雨阳','123456',2);
insertintousersvalues(
'董响','123456',2);
insertintostudentvalues(101,'曾华','男',to_date('1987-09-01','YYYY-MM-DD'),'95033');
insertintostudentvalues(102,'匡明','男',to_date('1985-10-02','YYYY-MM-DD'),'95031');
insertintostudentvalues(103,'王丽','女',to_date('1986-02-23','YYYY-MM-DD'),'95033');
insertintostudentvalues(104,'李军','男',to_date('1986-02-02','YYYY-MM-DD'),'95033');
insertintostudentvalues(105,'王芳','女',to_date('1985-02-10','YYYY-MM-DD'),'95031');
insertintostudentvalues(106,'陆君','男',to_date('1984-06-03','YYYY-MM-DD'),'95031');
insertintostudentvalues(107,'李强','男',to_date('1986-02-02','YYYY-MM-DD'),'95033');
insertintostudentvalues(108,'赵红','女',to_date('1985-02-10','YYYY-MM-DD'),'95034');
insertintostudentvalues(109,'张伟','男',to_date('1984-06-03','YYYY-MM-DD'),'95035');
insertintoteachervalues(804,'李诚','男',to_date('1968-12-02','YYYY-MM-DD'),'副教授','计算机系');
insertintoteachervalues(856,'张旭','男',to_date('1975-09-02','YYYY-MM-DD'),'讲师','电子工程系');
insertintoteachervalues(825,'王萍','女',to_date('1978-05-08','YYYY-MM-DD'),'助教','计算机系');
insertintoteachervalues(831,'刘冰','女',to_date('1979-08-10','YYYY-MM-DD'),'助教','电子工程系');
insertintocoursevalues('3-105','计算机导论',825);
insertintocoursevalues('3-245','操作系统',804);
insertintocoursevalues('6-166','数字电路',856);
insertintocoursevalues('9-888','高等数学',831);
insertintoscorevalues(103,'3-245',86);
insertintoscorevalues(105,'3-245',75);
insertintoscorevalues(109,'3-245',68);
insertintoscorevalues(103,'3-105',92);
insertintoscorevalues(105,'3-105',88);
insertintoscorevalues(109,'3-105',76);
insertintoscorevalues(101,'3-105',64);
insertintoscorevalues(107,'3-105',91);
insertintoscorevalues(108,'3-105',78);
insertintoscorevalues(101,'6-166',85);
insertintoscorevalues(107,'6-166',79);
insertintoscorevalues(108,'6-166',81);
以下是所有Java源代码,一共将近20个.java文件。
//Login.javapackageXSCJ;
importjava.awt.Dimension;
importjava.awt.Toolkit;
importjavax.swing.JFrame;
importjavax.swing.UIManager;
publicclassLogin{
publicLogin(){
JFrameframe=newFrame1();
DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();
DimensionframeSize=frame.getSize();
if(frameSize.height>screenSize.height){
frameSize.height=screenSize.height;
}
if(frameSize.width>screenSize.width){
frameSize.width=screenSize.width;
}frame.setLocation((screenSize.width-frameSize.width)/2,
(screenSize.height-frameSize.height)/2);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
publicstaticvoidmain(String[]args){
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}catch(Exceptione){
e.printStackTrace();
}newLogin();
}}
//Frame1.javapackageXSCJ;
importjava.awt.Dimension;
importjava.awt.Rectangle;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.util.Vector;
importjavax.swing.JButton;
importjavax.swing.JCheckBox;
importjavax.swing.JComboBox;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JList;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JOptionPane;
importjavax.swing.JPasswordField;
importjava.sql.*;
importjavax.swing.JRadioButton;
publicclassFrame1extendsJFrame{
Vectorv=newVector();
charstr[]=newchar[20];
Stringusername=newString();
Stringpassword=newString();
privateJMenuBarmenuBar=newJMenuBar();
privateJMenumenuFile=newJMenu();
privateJMenuItemmenuFileExit=newJMenuItem();
privateJMenumenuHelp=newJMenu();
privateJMenuItemmenuHelpAbout=newJMenuItem();
privateJLabeltextWelcome=newJLabel();
privateJLabeltextUserName=newJLabel();
privateJLabeltextPassword=newJLabel();
privateJPasswordFieldinputPassword=newJPasswordField();
privateJComboBoxchooseUser=newJComboBox(v);
privateJButtonloginIn=newJButton();
privateJLabeljLabel2=newJLabel();
publicFrame1(){
try{
jbInit();
}catch(Exceptione){
e.printStackTrace();
}}
privatevoidjbInit()throwsException{
Connectionconn=null;
Statementstate=null;
try{
Class.forName("oracle.jdbc.OracleDriver").newInstance();
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XSCJ","system",
"qazwsx");
state=conn.createStatement();
ResultSetrs=state.executeQuery("selectuserIDfromusers");
while(rs.next())
v.addElement(rs.getString("userID"));
rs.close();
}catch(SQLExceptione){
System.out.println("ErrorCode="+e.getErrorCode());
System.out.println("ErrorMessage="+e.getMessage());
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(state!=null){
state.close();
}
if(conn!=null){
conn.close();
}
}catch(SQLExceptione){
System.out.println("ErrorCode="+e.getErrorCode());
System.out.println("ErrorMessage="+e.getMessage());
}}this.setTitle("学生成绩管理系统");
this.setJMenuBar(menuBar);
this.getContentPane().setLayout(null);
this.setSize(newDimension(400,300));
menuFile.setText("File");
menuFileExit.setText("Exit");
menuFileExit.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventae){
fileExit_ActionPerformed(ae);
}});
menuHelp.setText("Help");
menuHelpAbout.setText("About");
menuHelpAbout.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventae){
helpAbout_ActionPerformed(ae);
}});
textWelcome.setText("欢迎使用学生成绩管理系统");
textWelcome.setBounds(newRectangle(120,30,150,40));
textUserName.setText("用户名:");
textUserName.setBounds(newRectangle(60,80,60,25));
textPassword.setText("密码:");
textPassword.setBounds(newRectangle(60,105,60,25));
inputPassword.setBounds(newRectangle(120,105,95,25));
chooseUser.setBounds(newRectangle(120,80,95,25));
chooseUser.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
chooseUser_actionPerformed(e);
}});
loginIn.setText("登陆");
loginIn.setBounds(newRectangle(250,100,95,30));
loginIn.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
loginIn_actionPerformed(e);
}});
jLabel2.setText("严禁未经授权使用此系统,否则可能会面临民事和刑事起诉。");
jLabel2.setBounds(newRectangle(45,195,325,25));
menuFile.add(menuFileExit);
menuBar.add(menuFile);
menuHelp.add(menuHelpAbout);
menuBar.add(menuHelp);
this.getContentPane().add(jLabel2,null);
this.getContentPane().add(loginIn,null);
this.getContentPane().add(chooseUser,null);
this.getContentPane().add(inputPassword,null);
this.getContentPane().add(textPassword,null);
this.getContentPane().add(textUserName,null);
this.getContentPane().add(textWelcome,null);
}
voidfileExit_ActionPerformed(ActionEvente){
System.exit(0);
}
voidhelpAbout_ActionPerformed(ActionEvente){
JOptionPane.showMessageDialog(this,newFrame1_AboutBoxPanel1(),
"About",JOptionPane.PLAIN_MESSAGE);
}
voidchooseUser_actionPerformed(ActionEvente){
username=(String)chooseUser.getSelectedItem();
}
privatevoidloginIn_actionPerformed(ActionEvente){
char[]str=inputPassword.getPassword();
password=newString(str);
while(password.length()<20)
password+="";
Connectionconn=null;
Statementstate=null;
ResultSetrs;
Stringpassword_get=newString("");
intquanxian_get=1;
try{
Class.forName("oracle.jdbc.OracleDriver").newInstance();
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XSCJ","system",
"qazwsx");
state=conn.createStatement();
rs=state.executeQuery("selectpassword,quanxianfromuserswhereuserID='"+username+"'");
rs.next();
password_get=rs.getString("password");
quanxian_get=rs.getInt("quanxian");
}catch(SQLExceptione1){
System.out.println("ErrorCode="+e1.getErrorCode());
System.out.println("ErrorMessage="+e1.getMessage());
}catch(Exceptione1){
e1.printStackTrace();
}finally{
try{
if(state!=null){
state.close();
}
if(conn!=null){
conn.close();
}
}catch(SQLExceptione1){
System.out.println("ErrorCode="+e1.getErrorCode());
System.out.println("ErrorMessage="+e1.getMessage());
}}
if(password_get.equals(password)==false){
System.exit(0);
}elseif(quanxian_get>1){
this.dispose();
newmainWindowAdmin().setVisible(true);
}else{
this.dispose();
newmainWindowNormal().setVisible(true);
}}}
//Frame1_AboutBoxPanel1.javapackageXSCJ;
importjava.awt.GridBagConstraints;
importjava.awt.GridBagLayout;
importjava.awt.Insets;
importjavax.swing.BorderFactory;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.border.Border;
publicclassFrame1_AboutBoxPanel1extendsJPanel{
privateJLabellabelTitle=newJLabel();
privateJLabellabelAuthor=newJLabel();
privateJLabellabelStudentNumber=newJLabel();
privateJLabellabelEmail=newJLabel();
privateJLabellabelCompany=newJLabel();
privateGridBagLayoutlayoutMain=newGridBagLayout();
privateBorderborder=BorderFactory.createEtchedBorder();
publicFrame1_AboutBoxPanel1(){
try{
jbInit();
}catch(Exceptione){
e.printStackTrace();
}}
privatevoidjbInit()throwsException{
this.setLayout(layoutMain);
this.setBorder(border);
labelTitle.setText("学生成绩管理系统V0.5");
labelAuthor.setText("Derek");
labelStudentNumber.setText("");
labelEmail.setText("@");
labelCompany.setText("");
this.add(labelTitle,
newGridBagConstraints(0,0,1,1,0.0,0.0,GridBagConstraints.WEST,
GridBagConstraints.NONE,
newInsets(5,15,0,15),0,0));
this.add(labelAuthor,
newGridBagConstraints(0,1,1,1,0.0,0.0,GridBagConstraints.WEST,
GridBagConstraints.NONE,
newInsets(0,15,0,15),0,0));
this.add(labelStudentNumber,
newGridBagConstraints(0,2,1,1,0.0,0.0,
GridBagConstraints.WEST,
GridBagConstraints.NONE,
newInsets(0,15,0,15),0,0));
this.add(labelEmail,
newGridBagConstraints(0,3,1,1,0.0,0.0,GridBagConstraints.WEST,
GridBagConstraints.NONE,
newInsets(0,15,0,15),0,0));
this.add(labelCompany,
newGridBagConstraints(0,4,1,1,0.0,0.0,GridBagConstraints.WEST,
GridBagConstraints.NONE,
newInsets(0,15,5,15),0,0));
}}
//mainWindowAdmin.javapackageXSCJ;
importjava.awt.Dimension;
importjava.awt.Rectangle;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.util.Vector;
importjavax.swing.JButton;
importjavax.swing.JComboBox;
importjavax.swing.JEditorPane;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
publicclassmainWindowAdminextendsJFrame{
Stringoperation;
Stringtable;
//v1.addElement("查询、更新、删除");
String[]choose_operation={"查询、修改、删除","插入"};
String[]choose_table={"学生信息","教师信息","课程信息","成绩信息"};
String[]s={"选课情况","教学情况"};
privateJLabeljLabel1=newJLabel();
privateJLabeljLabel2=newJLabel();
privateJLabeljLabel3=newJLabel();
privateJLabeljLabel4=newJLabel();
privateJButtonjButton1=newJButton();
privateJButtonjButton2=newJButton();
privateJButtonjButton3=newJButton();
privateJButtonjButton4=newJButton();
privateJButtonjButton5=newJButton();
JComboBoxchooseOperation=newJComboBox(choose_operation);
JComboBoxchooseTable=newJComboBox(choose_table);
privateJLabeljLabel5=newJLabel();
privateJComboBoxfindInformation=newJComboBox(s);
privateJLabeljLabel6=newJLabel();
privateJButtonjButton6=newJButton();
publicmainWindowAdmin(){
try{
jbInit();
}catch(Exceptione){
e.printStackTrace();
}}
privatevoidjbInit()throwsException{
this.getContentPane().setLayout(null);
this.setSize(newDimension(443,388));
this.setTitle("欢迎使用学生成绩管理系统V0.5");
jLabel1.setText("请选择操作:");
jLabel1.setBounds(newRectangle(50,195,90,20));
jLabel2.setText("请选择数据表:");
jLabel2.setBounds(newRectangle(50,220,90,20));
jLabel3.setText("修改数据:");
jLabel3.setBounds(newRectangle(30,170,160,20));
jLabel4.setText("查看数据:");
jLabel4.setBounds(newRectangle(30,30,115,25));
jButton1.setText("学生信息");
jButton1.setBounds(newRectangle(105,65,80,35));
jButton1.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jButton1_actionPerformed(e);
}});
jButton2.setText("教师信息");
jButton2.setBounds(newRectangle(210,65,80,35));
jButton2.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jButton2_actionPerformed(e);
}});
jButton3.setText("课程信息");
jButton3.setBounds(newRectangle(105,115,80,35));
jButton3.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jButton3_actionPerformed(e);
}});
jButton4.setText("成绩信息");
jButton4.setBounds(newRectangle(210,115,80,35));
jButton4.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jButton4_actionPerformed(e);
}});
jButton5.setText("GO");
jButton5.setBounds(newRectangle(300,220,75,20));
jButton5.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jButton5_actionPerformed(e);
}});
chooseOperation.setBounds(newRectangle(140,195,130,20));
chooseTable.setBounds(newRectangle(140,220,130,20));
jLabel5.setText("高级查询:");
jLabel5.setBounds(newRectangle(50,290,90,20));
findInformation.setBounds(newRectangle(140,290,130,20));
jLabel6.setText("附加功能:");
jLabel6.setBounds(newRectangle(30,270,110,15));
jButton6.setText("GO");
jButton6.setBounds(newRectangle(300,290,80,20));
jButton6.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
jButton6_actionPerformed(e);
}});
this.getContentPane().add(jButton6,null);
this.getContentPane().add(jLabel6,null);
this.getContentPane().add(findInformation,null);
this.getContentPane().add(jLabel5,null);
this.getContentPane().add(chooseTable,null);
this.getContentPane().add(chooseOperation,null);
this.getContentPane().add(jButton5,null);
this.getContentPane().add(jButton4,null);
this.getContentPane().add(jButton3,null);
this.getContentPane().add(jButton2,null);
this.getContentPane().add(jButton1,null);
this.getContentPane().add(jLabel4,null);
this.getContentPane().add(jLabel3,null);
this.getContentPane().add(jLabel2,null);
this.getContentPane().add(jLabel1,null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
voidjButton1_actionPerformed(ActionEvente){
newstudentInformation().setVisible(true);
}
voidjButton2_actionPerformed(ActionEvente){
newteacherInformation().setVisible(true);
}
voidjButton3_actionPerformed(ActionEvente){
newcourseInformation().setVisible(true);
}
voidjButton4_actionPerformed(ActionEvente){
newscoreInformation().setVisible(true);
}
privatevoidjButton5_actionPerformed(ActionEvente){
operation=(String)chooseOperation.getSelectedItem();
table=(String)chooseTable.getSelectedItem();
if(operation.equals("查询、修改、删除")){
if(table.equals("学生信息"))
newstudentUpdate().setVisible(true);
elseif(table.equals("教师信息"))
newteacherUpdate().setVisible(true);
elseif(table.equals("课程信息"))
newcourseUpdate().setVisible(true);
elsenewscoreUpdate().setVisible(true);
}else{
if(table.equals("学生信息"))
newinsertStudent().setVisible(true);
elseif(table.equals("教师信息"))
newinsertTeacher().setVisible(true);
elseif(table.equals("课程信息"))
newinsertCourse().setVisible(true);
elsenewinsertScore().setVisible(true);
}}
privatevoidjButton6_actionPerformed(ActionEvente){
Stringinformation=(String)findInformation.getSelectedItem();
if(information.equals("选课情况"))
newselect1().setVisible(true);
elsenewselect2().setVisible(true);
}}
//mainWindowNormal.javapackageXSCJ;
importjava.awt.Dimension;
importjava.awt.Rectangle;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
publicclassmainWindowNormalextendsJFrame{
privateJButtonstudent=newJButton();
privateJButtonteacher=newJButton();
privateJButtoncourse=newJButton();
privateJButtonscore=newJButton();
privateJLabelwelcome=newJLabel();
privateJLabelexplain=newJLabel();
publicmainWindowNormal(){
try{
jbInit();
}catch(Exceptione){
e.printStackTrace();
}}
privatevoidjbInit()throwsException{
this.getContentPane().setLayout(null);
this.setSize(newDimension(400,300));
this.setTitle("欢迎使用学生成绩管理系统V0.5");
student.setText("学生信息");
student.setBounds(newRectangle(70,105,105,35));
student.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
student_actionPerformed(e);
}});
teacher.setText("教师信息");
teacher.setBounds(newRectangle(195,105,105,35));
teacher.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
teacher_actionPerformed(e);
}});
course.setText("课程信息");
course.setBounds(newRectangle(70,160,105,35));
course.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
course_actionPerformed(e);
}});
score.setText("成绩信息");
score.setBounds(newRectangle(195,160,105,35));
score.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
score_actionPerformed(e);
}});
welcome.setText("欢迎使用学生成绩管理系统");
welcome.setBounds(newRectangle(110,60,150,35));
explain.setText("普通用户仅具有查看表数据权限");
explain.setBounds(newRectangle(100,215,185,25));
this.getContentPane().add(explain,null);
this.getContentPane().add(welcome,null);
this.getContentPane().add(score,null);
this.getContentPane().add(course,null);
this.getContentPane().add(teacher,null);
this.getContentPane().add(student,null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
privatevoidstudent_actionPerformed(ActionEvente){
newstudentInformation().setVisible(true);
}
privatevoidteacher_actionPerformed(ActionEvente){
newteacherInformation().setVisible(true);
}
privatevoidcourse_actionPerformed(ActionEvente){
newcourseInformation().setVisible(true);
}
privatevoidscore_actionPerformed(ActionEvente){
newscoreInformation().setVisible(true);
}}
//studentInformation.javapackageXSCJ;
importjava.awt.Dimension;
importjava.awt.Rectangle;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.Connection;
importjava.sql.Date;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjava.sql.Timestamp;
importjava.util.Vector;
importjavax.swing.JFrame;
importjavax.swing.JList;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
importjavax.swing.RowSorter;
importjavax.swing.table.DefaultTableModel;
importjavax.swing.table.TableRowSorter;
publicclassstudentInformationextendsJFrame{
String[]column={"学号","学生姓名","学生性别","出生日期","班级"};
privateJMenuBarmenuBar=newJMenuBar();
privateJMenumenuFile=newJMenu();
privateJMenuItemmenuFileExit=newJMenuItem();
privateJTablestudentTable=newJTable();
DefaultTableModelmm=newDefaultTableModel(column,0){
};
publicstudentInformation(){
try{
jbInit();
}catch(Exceptione){
e.printStackTrace();
}}
privatevoidjbInit()throwsException{
this.setJMenuBar(menuBar);
this.getContentPane().setLayout(null);
this.setSize(newDimension(491,391));
this.setTitle("学生信息");
menuFile.setText("File");
menuFileExit.setText("Exit");
menuFileExit.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventae){
fileExit_ActionPerformed(ae);
}});
studentTable.setBounds(newRectangle(25,25,435,290));
menuFile.add(menuFileExit);
menuBar.add(menuFile);
this.getContentPane().add(studentTable,null);
intstudentNumber;
StringstudentName,studentSex,studentClass;
DatestudentBirthday;
Connectionconn=null;
Statementstate=null;
try{
Class.forName("oracle.jdbc.OracleDriver").newInstance();
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XSCJ","system",
"qazwsx");
state=conn.createStatement();
ResultSetrs=state.executeQuery("select*fromstudent");
while(rs.next()){
studentNumber=rs.getInt("sno");
studentName=rs.getString("name");
studentSex=rs.getString("sex");
studentBirthday=rs.getDate("birthday");
studentClass=rs.getString("class");
Object[]studentInfo=
{studentNumber,studentName,studentSex,studentBirthday,
studentClass};
mm.addRow(studentInfo);
}studentTable.setModel(mm);
rs.close();
}catch(SQLExceptione){
System.out.println("ErrorCode="+e.getErrorCode());
System.out.println("ErrorMessage="+e.getMessage());
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(state!=null){
state.close();
}
if(conn!=null){
conn.close();
}
}catch(SQLExceptione){
System.out.println("ErrorCode="+e.getErrorCode());
System.out.println("ErrorMessage="+e.getMessage());
}}}
voidfileExit_ActionPerformed(ActionEvente){
System.exit(0);
}}
//teacherInformation.javapackageXSCJ;
importjava.awt.Dimension;
importjava.awt.Rectangle;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.Connection;
importjava.sql.Date;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjavax.swing.JFrame;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JTable;
importjavax.swing.table.DefaultTableModel;
publicclassteacherInformationextendsJFrame{
String[]column={"教师号","教师姓名","性别","出生日期","职称","院系"};
privateJMenuBarmenuBar=newJMenuBar();
privateJMenumenuFile=newJMenu();
privateJMenuItemmenuFileExit=newJMenuItem();
privateJTableteacherTable=newJTable();
DefaultTableModelmm=newDefaultTableModel(column,0){
};
publicteacherInformation(){
try{
jbInit();
}catch(Exceptione){
e.printStackTrace();
}}
privatevoidjbInit()throwsException{
this.setJMenuBar(menuBar);
this.getContentPane().setLayout(null);
this.setSize(newDimension(534,435));
this.setTitle("教师信息");
menuFile.setText("File");
menuFileExit.setText("Exit");
menuFileExit.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventae){
fileExit_ActionPerformed(ae);
}});
teacherTable.setBounds(newRectangle(20,25,490,290));
menuFile.add(menuFileExit);
menuBar.add(menuFile);
this.getContentPane().add(teacherTable,null);
intteacherNumber;
StringteacherName,teacherSex,teacherProf,teacherDepart;
DateteacherBirthday;
Connectionconn=null;
Statementstate=null;
try{
Class.forName("oracle.jdbc.OracleDriver").newInstance();
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XSCJ","system",
"qazwsx");
state=conn.createStatement();
ResultSetrs=state.executeQuery("select*fromteacher");
while(rs.next()){
teacherNumber=rs.getInt("tno");
teacherName=rs.getString("name");
teacherSex=rs.getString("sex");
teacherBirthday=rs.getDate("birthday");
teacherProf=rs.getString("prof");
teacherDepart=rs.getString("depart");
Object[]teacherInfo=
{teacherNumber,teacherName,teacherSex,teacherBirthday,
teacherProf,teacherDepart};
mm.addRow(teacherInfo);
}teacherTable.setModel(mm);
rs.close();
}catch(SQLExceptione){
System.out.println("ErrorCode="+e.getErrorCode());
System.out.println("ErrorMessage="+e.getMessage());
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(state!=null){
state.close();
}
if(conn!=null){
conn.close();
}
}catch(SQLExceptione){
System.out.println("ErrorCode="+e.getErrorCode());
System.out.println("ErrorMessage="+e.getMessage());
}}}
voidfileExit_ActionPerformed(ActionEvente){
System.exit(0);
}}
//courseInformation.javapackageXSCJ;
importjava.awt.Dimension;
importjava.awt.Rectangle;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.Connection;
importjava.sql.Date;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjavax.swing.JFrame;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JTable;
importjavax.swing.table.DefaultTableModel;
publicclasscourseInformationextendsJFrame{
String[]column={"课程号","课程名称","学生姓名"};
privateJMenuBarmenuBar=newJMenuBar();
privateJMenumenuFile=newJMenu();
privateJMenuItemmenuFileExit=newJMenuItem();
privateJTablecourseTable=newJTable();
DefaultTableModelmm=newDefaultTableModel(column,0){
};
publiccourseInformation(){
try{
jbInit();
}catch(Exceptione){
e.printStackTrace();
}}
privatevoidjbInit()throwsException{
this.setJMenuBar(menuBar);
this.getContentPane().setLayout(null);
this.setSize(newDimension(489,383));
this.setTitle("课程信息");
menuFile.setText("File");
menuFileExit.setText("Exit");
menuFileExit.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventae){
fileExit_ActionPerformed(ae);
}});
courseTable.setBounds(newRectangle(17,35,450,260));
menuFile.add(menuFileExit);
menuBar.add(menuFile);
this.getContentPane().add(courseTable,null);
StringcourseNumber,courseName,teacherName;
Connectionconn=null;
Statementstate=null;
try{
Class.forName("oracle.jdbc.OracleDriver").newInstance();
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XSCJ","system",
"qazwsx");
state=conn.createStatement();
ResultSetrs=state.executeQuery("selectcno,cname,teacher.namefromcourse,teacherwherecourse.tno=teacher.tno");
while(rs.next()){
courseNumber=rs.getString("cno");
courseName=rs.getString("cname");
teacherName=rs.getString("name");
Object[]courseInfo=
{courseNumber,courseName,teacherName};
mm.addRow(courseInfo);
}courseTable.setModel(mm);
rs.close();
}catch(SQLExceptione){
System.out.println("ErrorCode="+e.getErrorCode());
System.out.println("ErrorMessage="+e.getMessage());
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(state!=null){
state.close();
}
if(conn!=null){
conn.close();
}
}catch(SQLExceptione){
System.out.println("ErrorCode="+e.getErrorCode());
System.out.println("ErrorMessage="+e.getMessage());
}}}
voidfileExit_ActionPerformed(ActionEvente){
System.exit(0);
}}
//scoreInformation.javapackageXSCJ;
importjava.awt.Dimension;
importjava.awt.Rectangle;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
importjavax.swing.JFrame;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
importjavax.swing.JScrollPane;
importjavax.swing.JTable;
importjavax.swing.table.DefaultTableModel;
publicclassscoreInformationextendsJFrame{
String[]column={"学号","课程号","分数"};
privateJMenuBarmenuBar=newJMenuBar();
privateJMenumenuFile=newJMenu();
privateJMenuItemmenuFileExit=newJMenuItem();
DefaultTableModelmm=newDefaultTableModel(column,0){
};
privateJTablescoreTable=newJTable();
publicscoreInformation(){
try{
jbInit();
}catch(Exceptione){
e.printStackTrace();
}}
privatevoidjbInit()throwsException{
this.setJMenuBar(menuBar);
this.getContentPane().setLayout(null);
this.setSize(newDimension(501,437));
this.setTitle("成绩信息");
menuFile.setText("File");
menuFileExit.setText("Exit");
menuFileExit.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventae){
fileExit_ActionPerformed(ae);
}});
scoreTable.setBounds(newRectangle(25,15,445,345));
menuFile.add(menuFileExit);
menuBar.add(menuFile);
this.getContentPane().add(scoreTable,null);
intdegree;
StringcourseName,studentName;
Connectionconn=null;
Statementstate=null;
try{
Class.forName("oracle.jdbc.OracleDriver").newInstance();
conn=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XSCJ","system",
"qazwsx");
state=conn.createStatement();
ResultSetrs=state.executeQuery("selectstudent.name,ame,score.degreefromstudent,course,scorewherescore.sno=o=o");
while(rs.next()){
studentName=rs.getString("name");
courseName=rs.getString("cname");
degree=rs.getInt("degree");
Object[]scoreInfo={studentName,courseName,degree};
mm.addRow(scoreInfo);
}scoreTable.setModel(mm);
rs.close();
}catch(SQLExceptione){
System.out.println("ErrorCode="+e.getErrorCode());
System.out.println("ErrorMessage="+e.getMessage());
}catch(Exceptione){
e.printStackTrace();
}finally{
try{
if(state!=null){
state.close();
}
if(conn!=null){
conn.close();
}
}catch(SQLExceptione){
System.out.println("ErrorCode="+e.getErrorCode());
System.out.println("ErrorMessage="+e.getMessage());
}}}
voidfileExit_ActionPerformed(ActionEvente){
System.exit(0);
}}
还有大概45页的代码,太难复制粘贴了,而且浏览器已经很卡了,其实其他的代码和上面已经贴出来的差不多,我想的话根据上面的代码在去做其他的功能叶不需要多长时间,所以就不再贴代码了,昨天找了下当时的工程,发现已经找不到了,只剩下文档了。