半年前的作品,上傳隻為紀念~
<b></b>
成績: <b>____0.1______</b>
<b>Java</b><b>程式設計</b>
<b> </b><b>課程設計</b>
題
目:大學生資訊管理系統
學
院:
計算機與軟體學院
專
業: 網絡工程_____
.
學
号:範晉傑20151346023
金恒昱20151346024
魯方偉20151346081
指導教師:
方巍_______
2016年12月23日
<b>目 </b>
錄
<b> </b>
<a href="#_Toc263756951">1. 前言............................................. 1</a>
<a href="#_Toc263756952">2. 需求分析.......................................... 1</a>
<a href="#_Toc263756953">3. 概要設計.......................................... 1</a>
<a href="#_Toc263756954">4. 詳細設計.......................................... 2</a>
我們準備開發一個全國大學生資訊管理系統。系統功能包括如下:
添加學生資訊
檢視學生資訊
修改學生資訊
删除學生資訊
相關技術簡介:我們采用java程式設計技術,用到了資料庫,圖形化設計等。
市場需求:主要解決一個管理學生資訊的問題,學生學号,班級,成績之類的問題,旨在為各大高校提供一個開源、自由、免費的簡單管理軟體。這個問題要求我們提供一個管理學生資訊安全的平台,避免學生資訊的缺漏。人性化的圖形管理界面,加上優美的背景音樂和可愛的開場動畫,讓管理者可以更加愉悅得對學生資訊進行管理。
Development Kit)稱為Java開發包或Java開發工具,是一個編寫Java的Applet小程式和應用程式的程式開發環境。JDK是整個Java的核心,包括了Java運作環境(Java
Runtime
Envirnment),一些Java工具和Java的核心類庫(Java
API)。不論什麼Java應用伺服器實質都是内置了某個版本的JDK。采用Eclipse工具,一個開放源代碼的、基于Java的可擴充開發平台。
程式子產品流程:
<b>類設計:</b>
SplashWindow
開始動畫
LogIn
登陸界面,輸入使用者名,密碼等
MySound
背景音樂播放
Student
主界面各種功能
QueryStudent
學生搜尋
StudentIn
錄入學生
DeleteStudent
學生删除
StudentInformationBrower
學生概覽
UpdatePassword
修改密碼
<b>資料庫設計:</b>
學生名
學号
Java
資料結構
機率統計
入學時間
龍傲天
20151
59
34
47
2015
餘笑
201419
38
24
36
2014
李四
201625
20
69
89
2016
金大牙
201513
75
96
鄭官聖
200615
79
2006
魯方偉
20151346081
60
80
詳細代碼:
//“删除學生資訊”功能類代碼
class
DeleteStudent
implements
ActionListener
{
JFrame f;
Container cp;
JPanel jpS,jpanelWest;
JButton
jbt1,jbt2,jbt3;//按鈕,查詢、取消、修改
JLabel label,L;
//标簽:請輸入學号
JTextField tf;
//定義文本框
JTable table;//用來接收資料庫中傳回的資訊
Object columnName[]={"學生名","學号","Java","資料結構","機率統計","入學時間"};
Object ar[][] =new Object[80][6];
String sno;
//String count="xx";
DeleteStudent()
{
f=new
JFrame();
cp=f.getContentPane(); // 初始化面闆、按鈕、标簽、文本框
jpS=new JPanel();
jpanelWest=new JPanel();
jbt1=new JButton("查詢");
jbt2=new JButton("取消");
jbt3=new JButton("删除");
label=new JLabel("請輸入要删除的學生名:",SwingConstants.CENTER);
label.setForeground(Color.blue);
table=new JTable(ar,columnName);//ar存放表中的資料,columnname表示列名
JScrollPane scrollpane = new JScrollPane(table);
tf=new JTextField(18);
jpS.add(jbt1);
jpS.add(jbt2);
jpS.add(jbt3);
JPanel jpanel=new JPanel();
jpanel.add(label);
jpanel.add(tf);
JPanel pp4=new JPanel();
JPanel jpE=new JPanel();
cp.add(jpanel,"North");
JPanel jp=new JPanel();
JPanel p=new JPanel();//用來放兩個表
p.setLayout(new BorderLayout());
p.add(scrollpane);
cp.add(pp4,"West");
cp.add(p,"Center");
cp.add(jpS,"South");
cp.add(jpE,"East");
Dimension
screen=Toolkit.getDefaultToolkit().getScreenSize();
f.setSize(400,330);
f.setLocation((screen.width-350)/2,(screen.height-350)/2);
f.setVisible(true);
jbt1.addActionListener(this);//注冊監聽器
jbt2.addActionListener(this);
jbt3.addActionListener(this);
}
int
i=0;
public void
showRecord(String ql)
{
while(i>=0)
{
ar[i][0]="";
ar[i][1]="";
ar[i][2]="";
ar[i][3]="";
ar[i][4]="";
ar[i][5]="";
i--;
try{
Class.forName("com.hxtt.sql.access.AccessDriver");
}catch(ClassNotFoundException
e){System.out.println("加載驅動程式失敗!");}
Connection con =
DriverManager.getConnection("jdbc:Access:/D:/Student.mdb");
Statement
sql;
String
s="select * from 表book
where 學生名='"+ql +"'";
sql=con.createStatement();
ResultSet
rs=sql.executeQuery(s);
while(rs.next())
String bname=rs.getString(1);
String bno=rs.getString(2);
String price=rs.getString(3);
String writer=rs.getString(4);
String publish=rs.getString(5);
String indate=rs.getString(6);
ar[i][0]=bname;
ar[i][1]=bno;
ar[i][2]=price;
ar[i][3]=writer;
ar[i][4]=publish;
ar[i][5]=indate;
i++;
f.repaint();
con.close();System.out.println(ar[0][1]);
}catch(SQLException g)
System.out.println("E
Code"+g.getErrorCode());
M"+g.getMessage());
}}
deleteRecord(int index)
DriverManager.getConnection("jdbc:Access:/D:/Student.mdb");
Statement sql;
String ql=(String)(ar[index][1]);
String s="delete from 表book
where 學号 ='"+ql +"'";
int
del=sql.executeUpdate(s);
if(del==1)
{JOptionPane.showMessageDialog(null,"删除成功!",
"資訊",
JOptionPane.YES_NO_OPTION);
}
con.close();
System.out.println("E Code"+g.getErrorCode());
System.out.println("E M"+g.getMessage());
public void actionPerformed(ActionEvent
e)
{
String remember="";
String ql="";
cmd=e.getActionCommand();
if(cmd.equals("查詢"))
ql=tf.getText().trim();
remember=ql;
showRecord(ql);
if(cmd.equals("删除"))
int
index=table.getSelectedRow();
if(
index==-1)
JOptionPane.showMessageDialog(null,"請標明要删除的表格行",
"輸入錯誤",
else{
deleteRecord(index);
if(cmd.equals("取消"))
f. dispose();
public
static void main(String []arg){
DeleteStudent a=new DeleteStudent();
package
大學生資訊管理系統;
QueryStudent implements ActionListener
JFrame f3=new JFrame();
Container cp=new JPanel();
JPanel jp1=new JPanel();
JPanel jp2=new JPanel();
JPanel jp3=new JPanel();
JPanel jp4=new JPanel();
JPanel jpanelWest=new JPanel();;
jbt1=new JButton("确定");
JButton jbt2=new JButton("取消");//按鈕,确定、取消
JLabel label;
//标簽:請輸入圖書号
JTextField tf,tf1,tf2,tf3,tf4,tf5,tf6;
JLabel label1,label2,label3,label4;
QueryStudent()
cp=f3.getContentPane(); // 初始化面闆、按鈕、标簽、文本框
label=new JLabel("請輸入學生學号:",SwingConstants.CENTER);
tf=new JTextField(20);
tf1=new JTextField(20);
tf2=new JTextField(20);
tf3=new JTextField(20);
tf4=new JTextField(20);
tf5=new JTextField(20);
tf6=new JTextField(20);
JPanel jpane4=new JPanel();
JPanel pp2=new JPanel(new GridLayout(6,1));
JPanel pp3=new JPanel();
pp4.setLayout(new GridLayout(6,1));
pp4.add(new JLabel("學生名",SwingConstants.CENTER));
pp2.add(tf1);
pp4.add(new JLabel("學号",SwingConstants.CENTER));
pp2.add(tf2);
pp4.add(new JLabel(";
pp2.add(tf3);
pp4.add(new JLabel("資料結構",SwingConstants.CENTER));
pp2.add(tf4);
pp4.add(new JLabel("機率統計",SwingConstants.CENTER));
pp2.add(tf5);
pp4.add(new JLabel("入學時間",SwingConstants.CENTER));
pp2.add(tf6);
pp3.add(jbt1);
pp3.add(jbt2);
cp.add(pp2,"Center");
cp.add(pp3,"South");
cp.add(jpane4,"East");
f3.setSize(350,330);
f3.setLocation((screen.width-350)/2,(screen.height-350)/2);
f3.setVisible(true);
void showRecord()
String ql=tf2.getText().trim();
String s="select * from 表book
ResultSet
if(rs.next())
String sname=rs.getString(1);
String sno=rs.getString(2);
String ;
String DataStructure=rs.getString(4);
String Statistics=rs.getString(5);
String time=rs.getString(6);
tf1.setText(sname);
tf2.setText(sno);
tf3.setText(;
tf4.setText(DataStructure);
tf5.setText(Statistics);
tf6.setText(time);
else
{JOptionPane.showMessageDialog(null,"您輸入的學号不存在,請重新輸入",
tf1.setEditable(false);
tf2.setEditable(false);
tf3.setEditable(false);
tf4.setEditable(false);
tf5.setEditable(false);
tf6.setEditable(false);
void actionPerformed(ActionEvent e)
if(cmd.equals("确定"))
showRecord();
tf.setText("");
else
f3.dispose();
QueryStudent a=new QueryStudent();
import
java.awt.event.*;
javax.swing.*;
java.awt.*;
java.util.*;
java.sql.*;
javax.swing.text.JTextComponent;
StudentIn
JPanel jpanelWest=new JPanel();
jbt1,jbt2;//按鈕:确定、取消、
//标簽
JTextField tf1,tf2,tf3,tf4,tf5,tf6;
StudentIn()
jbt1=new JButton("确定");
label=new JLabel("錄入學生",SwingConstants.CENTER);
tf1=new
JTextField(20);
jp1.add(jbt1);
jp1.add(jbt2);
sno=tf4.getText();
jp1.add(new JLabel("您好"+sno+"歡迎登陸學生資訊系統"));
insertRecord()
if(tf1.getText().equals("")||tf2.getText().equals("")||tf3.getText().equals("")||
tf4.getText().equals("")||tf5.getText().equals("")||tf6.getText().equals(""))
JOptionPane.showMessageDialog(f3,"請填寫學生資料");
return;
Connection
con=DriverManager.getConnection("jdbc:Access:/D:/Student.mdb");
String s="insert into 表book
values('"+tf1.getText()+"','"+tf2.getText()+"','"+
tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.getText()+"');";
String query="select * from 表book
where 學号='"+tf2.getText()+"'";
sql=con.createStatement();
ResultSet rs=sql.executeQuery(query);//傳回查詢結果集
boolean moreRecords=rs.next();//判斷結果集是否有資料
if(moreRecords)
JOptionPane.showMessageDialog(f3,"學号已經被使用,請重新輸入");
tf2.setText("");
return;
int insert=sql.executeUpdate(s);
if(insert==1)
JOptionPane.showMessageDialog(null,"學生資訊錄入成功!");
tf1.setText("");
tf2.setText("");
tf3.setText("");
tf4.setText("");
tf5.setText("");
tf6.setText("");
actionPerformed(ActionEvent e)
insertRecord();
else
f3. dispose();
public static void
main(String []arg){
StudentIn a=new StudentIn();