学生信息管理系统报告
查閱有關數據庫設計、JSP程序設計、面向對象程序設計等資料,進一步加深對課程內容的理解,利用程序設計的基本思想進行程序的開發,進一步掌握編程方法和技巧,提高學生用程序的思想來解決實際問題的能力。本課程設計主要涉及到需求分析、總體設計、詳細設計以及底層數據庫設計幾個主要環節。
2.設計的主要內容及要求
(1)寫出系統的需求分析。
(2)寫出數據庫設計。
(3)寫出系統的詳細設計及各模塊的功能。
(4)編寫代碼,開發系統。
3.對設計說明書撰寫內容、格式、字數的要求
(1)學生應撰寫的內容為:中文摘要和關鍵詞、目錄、正文、參考文獻等。課程設計說明書(論文)的結構及各部分內容要求參照《沈陽工程學院畢業設計(論文)撰寫規范》執行。應做到文理通順,內容正確完整,書寫工整,裝訂整齊。
(2)裝訂格式:
封面、任務書、成績評審意見表、中文摘要和關鍵詞、目錄、正文、結論、致謝、參考文獻。
(3)課程設計說明書(論文)是體現和總結課程設計成果的載體,一般不應少于3000字。
4. 設計完成后應提交成果的種類、數量、質量等方面的要求
(1)每組提交一份課程設計報告。
(2)每組提交一份課程設計成品。
5.時間進度安排
|   順序  |   階段日期  |   計 劃 完 成 內 容  |   備注  | 
|   1  |   第一天  |   查閱資料,進行系統的需求分析、詳細設計,確定各功能模塊并進行數據庫設計。  |   ?  | 
|   2  |   第二天  |   單元模塊編程及調試。  |   ?  | 
|   3  |   第三天  |   單元模塊編程及調試。  |   ?  | 
|   4  |   第四天  |   單元模塊集成、調試及運行。  |   ?  | 
|   5  |   第五天  |   撰寫課程設計報告。  |   ?  | 
6.主要參考資料(文獻)
[1]王珊.數據庫系統概論.高等教育出版社,2000
⑵李代平.軟件工程(第2版).清華大學出版社.2008
⑶向學哲.JSP程序設計教程.人民郵電出版社,2006
⑷陳旭東.JSP2.0應用教程.清華大學出版社,2006?
⑸孫鑫.Java Web開發詳解.電子工業出版社,2006
?沈 陽 工 程 學 院
Web程序設計課程設計成績評定表
院(系):信息學院 班級:計算機B191-1 學生姓名: ????????陳力源 30?? 馮帥 29???????? ????????
|   指 導 教 師 評 審 意 見  | ||||||||||||
|   評價內容  |   具??? 體??? 要??? 求  |   權重  |   評??? 分  |   加權分  | ||||||||
|   調研 論證  |   能獨立查閱文獻,收集資料;能制定課程設計方案和日程安排。  |   0.1  |   5  |   4  |   3  |   2  |   ?  | |||||
|   工作能力 態度  |   工作態度認真,遵守紀律,出勤情況是否良好,能夠獨立完成設計工作,  |   0.2  |   5  |   4  |   3  |   2  |   ?  | |||||
|   工作量  |   按期圓滿完成規定的設計任務,工作量飽滿,難度適宜。  |   0.2  |   5  |   4  |   3  |   2  |   ?  | |||||
|   說明書的質量  |   說明書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。  |   0.5  |   5  |   4  |   3  |   2  |   ?  | |||||
|   指導教師評審成績 (加權分合計乘以8)  |   ?????? 分  |   加權分合計  |   ?  | |||||||||
|   指 導 教 師 簽 名:  |   ?年?? 月?? 日  | |||||||||||
|   評 閱 教 師 評 審 意 見  | ||||||||||||
|   評價內容  |   具??? 體??? 要??? 求  |   權重  |   評??? 分  |   加權分  | ||||||||
|   查閱 文獻  |   查閱文獻有一定廣泛性;有綜合歸納資料的能力  |   0.2  |   5  |   4  |   3  |   2  |   ?  | |||||
|   工作量  |   工作量飽滿,難度適中。  |   0.5  |   5  |   4  |   3  |   2  |   ?  | |||||
|   說明書的質量  |   說明書立論正確,論述充分,結論嚴謹合理,文字通順,技術用語準確,符號統一,編號齊全,圖表完備,書寫工整規范。  |   0.3  |   5  |   4  |   3  |   2  |   ?  | |||||
|   評閱教師評審成績 (加權分合計乘以4)  |   分  |   加權分合計  |   ?  | |||||||||
|   評 閱 教 師 簽 名:  |   ?年?? 月?? 日  | |||||||||||
|   答 辯 小 組 評 審 意 見  | ||||||||||||
|   評價內容  |   具??? 體??? 要??? 求  |   權重  |   評??? 分  |   加權分  | ||||||||
|   學生匯報  |   匯報準備充分,思路清晰;語言表達準確,概念清楚,論點正確,有層次,有重點,基本上反映了所完成任務的全部內容;時間符合要求。  |   0.5  |   5  |   4  |   3  |   2  |   ?  | |||||
|   答??? 辯  |   思路清晰;回答問題有理論依據,基本概念清楚;主要問題回答準確,深入,有說服力。  |   0.5  |   5  |   4  |   3  |   2  |   ?  | |||||
|   答辯小組評審成績 (加權分合計乘以8)  |   分  |   加權分合計  |   ?  | |||||||||
|   答辯小組教師簽名:  |   ?年?? 月?? 日  | |||||||||||
|   課 程 設 計 總 評 成 績  |   分  | |||||||||||
| ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | ? | 
?
目 錄
目錄
目 錄... 5
1系統總體介紹... 5
1.1系統總體介紹... 5
1.1.1學生信息管理... 5
1.1.2學生信息查詢... 5
1.2組內分工... 5
2系統需求分析... 7
2.1管理員對系統的需求... 7
2.2學生對系統的需求... 7
3數據庫設計... 8
3.1數據庫需求分析... 8
3.2數據庫物理結構設計(表結構)... 8
4系統實現... 9
4.1 總體設計... 9
4.2 詳細設計... 10
4.2.1.界面設計... 10
4.2.2.學生管理系統設計... 11
4.2.3.學生信息查詢系統設計... 13
4.3 編程實現... 13
4.3.1.登陸... 13
4.3.2主界面... 16
4.3.3添加... 21
4.3.4修改... 25
4.3.5刪除... 29
4.3.6查詢... 30
結論... 33
致謝... 34
參考文獻... 35
?
1系統總體介紹
1.1系統總體介紹
1.1.1學生信息管理
本模塊包括學生信息包括學生的學號、姓名、性別、年齡、班級、專業的添加,刪除以及修改,由管理員登陸后操作。
1.1.2學生信息查詢
?? ?學生查詢個人信息,學生登陸后查詢。
1.2組內分工
×××××××××××××××××××××××××××××××××××××××××××××……
????????????????????????????? 表1.1分工表
|   成員  |   分工  |   成績  | 
|   陳力源  |   報告撰寫及數據庫設計  |   ?  | 
|   馮帥  |   代碼撰寫及系統設計調試  |   ?  | 
?
?
2系統需求分析
2.1管理員對系統的需求
1、目標:?????
學生信息管理系統的目標是為方便學校教務處系統的管理學生信息2、具體需求:
1)管理員需要登陸此系統然后對學生的信息進行操作
2)管理員需要對入學的學生錄入學生信息
3)管理員需要對畢業的學生移除學生信息
4)管理員需要對升學的學生修改學生信息
?
?
2.2學生對系統的需求
1.目標:提供一個學校和學生間提供一個信息共享的平臺
2.具體需求:
1)學生需要登陸后可以通過學號查詢個人信息
?
?
3數據庫設計
3.1數據庫需求分析
???????????????????????????????????????????????? 圖1.1數據流程圖
?
?
?
3.2數據庫物理結構設計(表結構)
|   屬性  |   學號  |   姓名  |   性別  |   年齡  |   班級  |   專業  | 
|   類型  |   varchar(20)  |   varchar(40)  |   varchar(10)  |   int(11)  |   varchar(50)  |   varchar(50)  | 
|   約束  |   primaykey  |   Notnull  |   Default null  |   Default null  |   Default null  |   Default null  | 
?????????????????????????????????????????????????????????????? 表1.1結構表
?
?
?
4系統實現
?
?
?
?
4.1 總體設計
?
?
圖1.2系統總體框圖
?
?
?
?
?
?
?
?
?
?
?
?
4.2 詳細設計
?
4.2.1.界面設計
1)登陸界面設計
登陸時會顯示用戶權限
?
?
?
?
?
2)主界面設計
文本框內可輸入sql語句操作
4.2.2.學生管理系統設計
1)學生信息的添加
管理員需要登陸后按照要求輸入所需的學生信息,包括學號、姓名、性別、年齡、班級、專業,其中學號、姓名不能為空,其他默認為空。
?
?
2)學生信息的修改
修改由子界面完成,主界面調出子界面
?
3)學生信息的刪除
按照學號刪除
?
4.2.3.學生信息查詢系統設計
1)學生查詢個人信息
按照學號查詢
?
?
?
4.3 編程實現
4.3.1.登陸
package rjgc;
?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.*;
public class LoginIn extends JFrame{
?JTextField f1;
??? JTextField f2;
?JButton b1;
?JButton b2;
?String power;//表示權限
??? String imgePath = "11.jpg";
??? JPanel p5;
??? Image img = Toolkit.getDefaultToolkit().createImage(imgePath);
?LoginIn(){
? Container cp=getContentPane();
?
?
?
? Label l1=new Label("用戶:");
? Label l2=new Label("密碼:");
?
? JPanel p1=new JPanel();
? JPanel p2=new JPanel();
? JPanel p3=new JPanel();
? JPanel p4=new JPanel();
???? p5=new JPanel(){
?????????? protected? void paintChildren(Graphics g) {
??????????????? g.drawImage(img,0,0,this);
?????????????? ?super.paintChildren(g);
??????????? }
??????? };
?
?? f1=new JTextField(15);
????? f2=new JPasswordField(15);
?? b1=new JButton("登錄");
?? b2=new JButton("重置");
??????? //p1.setBackground(Color.orange);
? p2.add(l1);
? p2.add(f1);
? p2.setBorder(new MatteBorder(0,0,0,0,Color.BLACK));
? p2.setBackground(Color.white);
? p3.add(l2);
? p3.add(f2);
? p3.setBackground(Color.white);
? p3.setBorder(new MatteBorder(0,0,0,0,Color.BLACK));
? p4.add(b1);
? p4.add(b2);
? p4.setBorder(new MatteBorder(-3,-3,-3,-3,Color.CYAN));
? p4.setBackground(Color.BLACK);
? p5.setLayout(new FlowLayout(FlowLayout.CENTER,120,100));
? p5.add(p2);
? p5.add(p3);
? p5.add(p4);
? cp.add(p5,BorderLayout.CENTER);
?
? b1.addActionListener(new Enter());
? b2.addActionListener(new ReWrite());
? addWindowListener(new winClose());
?}
?public static void main(String[] args) {
? LoginIn log=new LoginIn();
? log.setIconImage(Toolkit.getDefaultToolkit().createImage("F:/eclipse文件/rjgc/dl.gif"));
? log.setTitle("計B191 馮帥 陳力源-學生信息管理系統");
? log.setLocation(600,300);
? log.setSize(600,600);
? log.setVisible(true);
?
?
?}
?class Enter implements ActionListener{
? @SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent e)
? {? //LoginIn log=new LoginIn();
????????????? if((f1.getText()).equals("admin")&&(f2.getText()).equals("123"))
????????????? {
??????? JOptionPane.showMessageDialog(null, "登錄成功!用戶權限是adimistrator");
????????????? power="adminstrator";
????????????? Qframe frame= new Qframe();
????????????? frame.setIconImage(Toolkit.getDefaultToolkit().createImage("F:/eclipse文件/rjgc/java.gif"));
? ????????????frame.setLocation(400,200);
??????? ?????? ??frame.resize(500,285);
??????? ?????? ??frame.show();
??????? ?????? ?//log.setVisible(false);
??????? ?????? ?dispose();
?????????????
????????????? }
????????????? else if((f1.getText()).equals("馮帥")&&(f2.getText()).equals("123456"))
????????????? {
????????????? JOptionPane.showMessageDialog(null, "登錄成功!用戶權限是user");
????????????? power="adminstrator";
????????????? Qframe frame= new Qframe();
????????????? frame.setIconImage(Toolkit.getDefaultToolkit().createImage("F:/eclipse文件/rjgc/java.gif"));
????????????? frame.setLocation(400,200);
??????? ?????? ??frame.resize(500,285);
??????? ?????? ??frame.show();
??????? ?????? ??dispose();
????????????? }
??????? else JOptionPane.showMessageDialog(null, "登錄失敗,請重新登錄!");
? }
?}
?class ReWrite implements ActionListener{
? public void actionPerformed(ActionEvent e)
? {
?? f1.setText("");
?? f2.setText("");
?? f1.requestFocus();
? }
?}
?class winClose extends WindowAdapter
?{
?public void windowClosing(WindowEvent e)
?{
??? (e.getWindow()).dispose();
? System.exit(0);
?}
?}
}
4.3.2主界面
package rjgc;
?
import java.awt.*;
import java.awt.event.*;
import java.security.cert.PKIXRevocationChecker.Option;
?
import javax.swing.*;
?
import java.sql.*;
?
?
class Qframe extends JFrame implements ActionListener{
???????????????????????
? JPanel contentPane;
? BorderLayout borderLayout1=new BorderLayout(5,10);
? Label prompt;
? JTextField stm;
? Button run;
? public static final TextArea result=new TextArea();
???
? public Qframe(){
????? ? contentPane=(JPanel)this.getContentPane();
????? ? contentPane.setLayout(borderLayout1);
????? ??this.setTitle("學生信息管理系統");
????? ?
????? ? addWindowListener(new WindowAdapter(){
???????????? ? public void windowClosing(WindowEvent e){
??????????????????? ? System.exit(0);
???????????? ? }
????? ? });
????? ? prompt =new Label("執行語句:");
????? ? run=new Button("開始執行");
????? ? result.setEditable(false);
????? ? stm=new JTextField(100);
????? ? JPanel option =new JPanel();
????? ? Button zenjia=new Button("增加(add)");
????? ? option.add(zenjia,BorderLayout.NORTH);
????? ? zenjia.addActionListener(new ActionListener() {
??????????????????? @Override
??????????????????? public void actionPerformed(ActionEvent e) {
??????????????????????????
?????????????????????????? ?if(e.getSource()==zenjia){
????????????????????????????????? ? Adddialog add1= new Adddialog();
????????????????????????????????? ? add1.setVisible(true);
?????????????????????????? ? }
??????????????????????????
??????????????????? }
???????????? });
????? ? zenjia.addActionListener(this);
????? ? Button shanchu=new Button("刪除(delet)");
????? ? option.add(shanchu,BorderLayout.NORTH);
????? ?shanchu.addActionListener(new ActionListener() {
??????????????????? @Override
??????????????????? public void actionPerformed(ActionEvent e) {
??????????????????????????
?????????????????????????? ?if(e.getSource()==shanchu){
????????????????????????????????? ? Deletedialog dt1=new Deletedialog();
????????????????????????????????? ? dt1.setVisible(true);
?????????????????????????? ? }
??????????????????????????
??????????????????? }
???????????? });
????? ? shanchu.addActionListener(this);
????? ? Button xiugai=new Button("修改(alter)");
????? ? option.add(xiugai,BorderLayout.NORTH);
????? ? xiugai.addActionListener(new ActionListener() {
??????????????????? @Override
??????????????????? public void actionPerformed(ActionEvent e) {
??????????????????????????
?????????????????????????? ?if(e.getSource()==xiugai){
????????????????????????????????? ?Alterdialog af=new Alterdialog();
????????????????????????????????? ?af.setVisible(true);
?????????????????????????????????
?????????????????????????? ? }
??????????????????????????
??????????????????? }
???????????? });
????? ? Button cx=new Button("查詢(query)");
????? ? option.add(cx,BorderLayout.NORTH);
????? ? cx.addActionListener(new ActionListener() {
??????????????????? @Override
??????????????????? public void actionPerformed(ActionEvent e) {
??????????????????????????
?????????????????????????? ?if(e.getSource()==cx){
????????????????????????????????? ?Cxdialog cj=new Cxdialog();
????????????????????????????????? ?cj.show();
?????????????????????????? ? }
??????????????????????????
??????????????????? }
???????????? });
????? ?cx.addActionListener(this);
????? ? xiugai.addActionListener(this);
????? ? Button chaxun=new Button("刷新(refresh)");
????? ? option.add(chaxun,BorderLayout.NORTH);
????? ? chaxun.addActionListener(new ActionListener() {
??????????????????? @Override
??????????????????? public void actionPerformed(ActionEvent e) {
??????????????????????????
?????????????????????????? ?if(e.getSource()==chaxun){
????????????????????????????????? ?Connection sin=Dbcon.getconnectin();
????????????????????????????????? ?ResultSet rs=Dbcon.query(sin);
????????????????????????????????? ?
????????????????????????????????? ?try {
??????????????????? ???????????????????? ?result.setText("刷新成功\n\n\n");? //.format("這是一個數%1$4d",10)
???????????????????????????????????????? while(rs.next())
??????????????????????????????????????????????? {
??????????????????????????????????????????????? ???? String msg=rs.getString("sno")+"\t"+rs.getString("sname")+"\t"+rs.getString("ssex")+"\t"+rs.getString("sage")+"\t"+rs.getString("sclass")+"\t"+rs.getString("smajor")+"\n";
??????????????????????????????????????????????? ???? result.append(msg);
??????????????????????????????????????????????? }
???????????????????????????????????????? sin.close();
???????????????????????????????????????? rs.close();
????????????????????????????????? ?}catch(Exception h){
???????????????????????????????????????? ?h.printStackTrace();
????????????????????????????????? ?}
?????????????????????????? ? }
??????????????????????????
??????????????????? }
???????????? });
????? ? chaxun.addActionListener(this);
????? ? Button tuichu=new Button("退出(quit)");
????? ? option.add(tuichu,BorderLayout.NORTH);
????? ? tuichu.addActionListener(new ActionListener() {
??????????????????? @Override
??????????????????? public void actionPerformed(ActionEvent e) {
??????????????????????????
?????????????????????????? ?if(e.getSource()==tuichu){
????????????????????????????????? ?System.exit(0);
????????????????????????????????? ?}
?????????????????????????? ? }
??????????????????????????
???????????????????
???????????? });
????? ??
????? ?
????? ? //界面布局
????? ? contentPane.add(prompt,BorderLayout.WEST);
????? ? contentPane.add(stm,BorderLayout.CENTER);
????? ? contentPane.add(run,BorderLayout.EAST);
????? ? contentPane.add(result,BorderLayout.SOUTH);
????? ? contentPane.add(option,BorderLayout.NORTH);
????? ? run.addActionListener(this);
? }
? public void actionPerformed(ActionEvent e){
????? ? Connection con=null;
????? ? Statement st=null;
????? ? ResultSet rs=null;
????? ? if(e.getSource()==run){
???????????? ? try{
????? ??? ????????????? con=Dbcon.getconnectin();
????? ??? ????????????? //System.out.println("連接成功");
????? ??? ????????????? String msg1="lianjiechenggong";
????? ??? ????????????? result.setText("連接成功\n\n\n");
????? ??? ????????????? ?
????? ??? ????????????? String yuju=stm.getText();
????? ??? ????????????? st=con.createStatement();
????? ??? ????????????? rs=st.executeQuery(yuju);
????? ??? ????????????? //System.out.println("fengshuai");
????? ??? ????????????? //result.setText("");
????? ??? ????????????? while(rs.next())
????? ??? ????????????? {
????? ??? ????????????? ?????String msg=rs.getString("sno")+"\t"+rs.getString("sname")+"\t"+rs.getString("ssex")+"\t"+rs.getString("sage")+"\t"+rs.getString("sclass")+"\t"+rs.getString("smajor")+"\n";
????? ??? ????????????? ?????result.append(msg);
????? ??? ????????????? }
????? ??? ?????????????
????? ??? ????????????? //System.out.println("連接完成");
????? ??? ?????? }catch(SQLException sqle){
????? ??? ????????????? result.setText(sqle+"lianjiecuowu");
????? ??????????? //System.out.println(sqle+"lianjiecuowu");
????? ??????????? }
????? ??? ?????? catch(Exception h){
????? ??? ????????????? //result.setText(h.getMessage());
????? ??? ????????????? //System.out.println(h+"diergecuowu");
????? ??? ????????????? h.printStackTrace();
????? ??? ??????
????? ??? ?????? }finally{
????? ??? ????????????? try {
????????????????????????????????? rs.close();
????????????????????????????????? st.close();
????????????????????????????????? con.close();
?????????????????????????? } catch (SQLException e1) {
????????????????????????????????? // TODO Auto-generated catch block
????????????????????????????????? e1.printStackTrace();
?????????????????????????? }
????? ??? ?????? }
????? ? }
????? ?
? }
? @SuppressWarnings("deprecation")
public static void main(String argc[]){
????? ?
????? ? LoginIn dl=new LoginIn();
????? ? dl.show();
????? ?
????? ?
????? ? Qframe frame= new Qframe();
????? ? frame.setLocation(400,200);
????? ? frame.resize(600,350);
????? ? frame.show(); }}
4.3.3添加
1)添加子界面
package rjgc;
?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
?
?
import java.sql.*;
?
?public class Adddialog extends JFrame {
?????? ?public static final int Width =320;
?????? ?public static final int Heigth =230;
??????
?????? ?Button btn,btn2;
????? JTextField jt,jt2,jt3,jt4,jt5,jt6;
??????
?????? /*class MyPanel extends JPanel{
????????????? ?Label lb ;
?????????????
????????????? MyPanel(String s,JTextField jt){
???????????????????? setLayout(new FlowLayout());
????????????????????
???????????????????? lb=new Label(s);
???????????????????? add(lb);add(jt);
????????????? }
????????????? ?
?????? ?}*/
public Adddialog(){
????????????? setSize(Width,Heigth);
????????????? setLocation(820,200);
????????????? setTitle(new String("增加"));
????????????? setLayout(new FlowLayout());
????????????? Container con=getContentPane();
????????????? jt=new JTextField(20);
????????????? Label lb=new Label("學號:");
????????????? jt2=new JTextField(20);
????????????? Label lb2=new Label("姓名:");
????????????? jt3=new JTextField(20);
????????????? Label lb3=new Label("性別:");
????????????? jt4=new JTextField(20);
????????????? Label lb4=new Label("年齡:");
????????????? jt5=new JTextField(20);
????????????? Label lb5=new Label("班級:");
????????????? jt6=new JTextField(20);
????????????? Label lb6=new Label("專業:");
????????????? btn=new Button("添加");
????????????? btn.addActionListener(new Enter());
?????? ??? btn2=new Button("取消");
????????????? /*MyPanel p1=new MyPanel("學號:",jt);
????????????? MyPanel p2=new MyPanel("姓名:",jt2);
????????????? MyPanel p3=new MyPanel("性別:",jt3);*/
?????? ?????? add(lb);add(jt);add(lb2);add(jt2);add(lb3);add(jt3);add(lb4);add(jt4);add(lb5);add(jt5);add(lb6);add(jt6);add(btn);add(btn2);
?????????????
?????????????
?????? }
class Enter implements ActionListener{
??????
?? public void actionPerformed(ActionEvent e){
??????
?????? ??? Container con=getContentPane();
?????? ??? Adddialog ad= new Adddialog();
??????
?????? if(e.getActionCommand().equals("添加")){
?????????????
?????? con.setBackground(Color.green);
?????????????
?????????????
???????????????????? String sno=jt.getText();
???????????????????? String sname=jt2.getText();
???????????????????? String ssex=jt3.getText();
???????????????????? String sage=jt4.getText();
???????????????????? String sclass=jt5.getText();
???????????????????? String smajor=jt6.getText();
???????????????????? Object str[]={sno,sname,ssex,sage,sclass,smajor};
???????????????????? Connection sin=Dbcon.getconnectin();
???????????????????? Dbcon.insert(sin, str);
???????????????????? JOptionPane.showMessageDialog(null,"添加成功!","操作提示",JOptionPane.NO_OPTION );
?????? ??????? dispose();
?????? ??
?????? ??
?????? ? }
?}
?}
?}
2)添加數據庫
package rjgc;
?
import java.sql.*;
?
import javax.swing.JOptionPane;
public class Dbcon {
public final static Connection getconnectin(){
?????? Connection con=null;
?????? String driver = "com.mysql.jdbc.Driver";
?????? String url = "jdbc:mysql://localhost:3306/sims?serverTimezone=GMT%2B8";
??? String user = "root";
?????? String password = "feng";
?????? try{
????????????? //Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
????????????? Class.forName(driver);
?????? ??? con=DriverManager.getConnection(url,user,password);
????????????? con.setCatalog("sims");
?????????????
?????? }
?????? catch(SQLException sqle){
?????? ?????? System.out.println(sqle+"lianjiecuowu");
?????? ??????????? }
?????? ??? ?????? catch(Exception e){
?????? ??? ????????????? System.out.println(e+"diergecuowu");
?????? ??? ??????
?????? ??? ?????? }
?????? return con;
}
//添加數據
public final static void insert(Connection con,Object obj[]){
?????? PreparedStatement stmt=null;
?????? try {
????????????? stmt=con.prepareStatement("insert into student(sno,sname,ssex,sage,sclass,smajor) values(?,?,?,?,?,?)");
?????????????
????????????? stmt.setString(1,obj[0].toString());
????????????? stmt.setString(2,obj[1].toString());
????????????? stmt.setString(3,obj[2].toString());
????????????? stmt.setString(4,obj[3].toString());
????????????? stmt.setString(5,obj[4].toString());
????????????? stmt.setString(6,obj[5].toString());
????????????? stmt.execute();
?????????????
?????????????
?????????????
?????? } catch (SQLException e) {
????????????? JOptionPane.showMessageDialog(null,"shibai","操作提示",JOptionPane.NO_OPTION );
?????? }
}
//查詢數據
public final static ResultSet query(Connection con){
??????
?????? ResultSet rs=null;
?????? PreparedStatement stmt=null;
?????? try {
????????????? stmt=con.prepareStatement("select * from student");
????????????? ?rs=stmt.executeQuery();
?????????????
????????????
???????????? //stmt.close();
???????????? //con.close();
?????? } catch (SQLException e) {
????????????? // TODO Auto-generated catch block
????????????? e.printStackTrace();
?????? }
?????? return rs;
}
//刪除數據
public final static void delete(Connection con,String s){
?????? try {
????????????? PreparedStatement stmt;
????????????? ?stmt=con.prepareStatement("delete from student where sno=?");
?????? ??? stmt.setObject(1,s);
????????????? stmt.execute();
?????????????
?????? } catch (SQLException e) {
????????????? // TODO Auto-generated catch block
????????????? e.printStackTrace();
?????? }
?????? finally{
?????????????
?????? }
}
?
}
4.3.4修改
1)修改子界面
package rjgc;
?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
?
?
import java.sql.*;
?
?public class Tianjiadialog extends JFrame {
?????? ?public static final int Width =320;
?????? ?public static final int Heigth =230;
??????
?????? ?Button btn,btn2;
????? JTextField jt,jt2,jt3,jt4,jt5,jt6;
??????
?????? /*class MyPanel extends JPanel{
????????????? ?Label lb ;
?????????????
????????????? MyPanel(String s,JTextField jt){
???????????????????? setLayout(new FlowLayout());
????????????????????
???????????????????? lb=new Label(s);
???????????????????? add(lb);add(jt);
????????????? }
????????????? ?
?????? ?}*/
public Tianjiadialog(){
????????????? setSize(Width,Heigth);
????????????? setLocation(820,200);
????????????? setTitle(new String("請輸入新的信息:"));
????????????? setLayout(new FlowLayout());
????????????? jt=new JTextField(20);
????????????? Label lb=new Label("學號:");
????????????? jt2=new JTextField(20);
????????????? Label lb2=new Label("姓名:");
????????????? jt3=new JTextField(20);
????????????? Label lb3=new Label("性別:");
?????????????
????????????? jt4=new JTextField(20);
????????????? Label lb4=new Label("年齡:");
????????????? jt5=new JTextField(20);
????????????? Label lb5=new Label("班級:");
????????????? jt6=new JTextField(20);
????????????? Label lb6=new Label("專業:");
????????????? btn=new Button("修改");
????????????? btn.addActionListener(new Enter());
?????? ??? btn2=new Button("取消");
????????????? /*MyPanel p1=new MyPanel("學號:",jt);
????????????? MyPanel p2=new MyPanel("姓名:",jt2);
????????????? MyPanel p3=new MyPanel("性別:",jt3);*/
????????????? add(lb);add(jt);add(lb2);add(jt2);add(lb3);add(jt3);
????????????? add(lb4);add(jt4);add(lb5);add(jt5);add(lb6);add(jt6);
????????????? add(btn);add(btn2);
?????????????
?????? }
class Enter implements ActionListener{
??????
?? public void actionPerformed(ActionEvent e){
??????
?????? ??? Container con=getContentPane();
??????
?????? if(e.getActionCommand().equals("修改")){
?????????????
?????? con.setBackground(Color.blue);
?????????????
?????????????
???????????????????? String sno=jt.getText();
???????????????????? String sname=jt2.getText();
???????????????????? String ssex=jt3.getText();
???????????????????? String sage=jt4.getText();
???????????????????? String sclass=jt5.getText();
???????????????????? String smajor=jt6.getText();
???????????????????? Object str[]={sno,sname,ssex,sage,sclass,smajor};
???????????????????? Connection sin=Dbcon.getconnectin();
???????????????????? Dbcon.insert(sin, str);
???????????????????? JOptionPane.showMessageDialog(null,"修改成功!","操作提示",JOptionPane.NO_OPTION );
?????? ??????? dispose();
?????? ??
?????? ??
?????? ? }
?}
?}
}
2)修改數據庫
package rjgc;
?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
?
?
import java.sql.*;
?
?public class Alterdialog extends JFrame {
?????? ?public static final int Width =320;
?????? ?public static final int Heigth =230;
??????
?????? ?Button btn,btn2;
????? JTextField jt,jt2,jt3;
??????
?????? /*class MyPanel extends JPanel{
????????????? ?Label lb ;
?????????????
????????????? MyPanel(String s,JTextField jt){
???????????????????? setLayout(new FlowLayout());
????????????????????
???????????????????? lb=new Label(s);
???????????????????? add(lb);add(jt);
????????????? }
????????????? ?
?????? ?}*/
public Alterdialog(){
????????????? setSize(Width,Heigth);
????????????? setLocation(820,200);
????????????? setTitle(new String("修改:"));
????????????? setLayout(new FlowLayout());
????????????? Container con=getContentPane();
????????????? jt=new JTextField(20);
????????????? Label lb=new Label("學號:");
????????????? btn=new Button("確定");
????????????? btn.addActionListener(new Enter());
?????? ??? btn2=new Button("取消");
????????????? /*MyPanel p1=new MyPanel("學號:",jt);
????????????? MyPanel p2=new MyPanel("姓名:",jt2);
????????????? MyPanel p3=new MyPanel("性別:",jt3);*/
????????????? add(lb);add(jt);
????????????? //add(lb2);add(jt2);add(lb3);add(jt3);
????????????? add(btn);add(btn2);
?????????????
?????????????
?????? }
class Enter implements ActionListener{
??????
?? public void actionPerformed(ActionEvent e){
??????
?????? ??? Container con=getContentPane();
?????? ???
??????
?????? if(e.getActionCommand().equals("確定")){
?????????????
?????? con.setBackground(Color.red);
?????????????
?????? ???? Connection sin=Dbcon.getconnectin();
???????????????????? String sno=jt.getText();
???????????????????? try {
??????????????????????????? PreparedStatement stmt;
??????????????????????????? ?stmt=sin.prepareStatement("delete from student where sno=?");
???????????????????? ??? stmt.setObject(1,sno);
??????????????????????????? stmt.execute();
???????????????????? } catch (SQLException h) {
??????????????????????????? // TODO Auto-generated catch block
??????????????????????????? h.printStackTrace();
???????????????????? }
???????????????????? dispose();
???????????????????? Tianjiadialog tg=new Tianjiadialog();
???????????????????? tg.show();
????????????????????
?????? ??
?????? ??
?????? ? }
???? }
??? }
?
}
4.3.5刪除
package rjgc;
?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
?
?
import java.sql.*;
?
?public class Deletedialog extends JFrame {
?????? ?public static final int Width =320;
?????? ?public static final int Heigth =230;
??????
?????? ?Button btn,btn2;
????? JTextField jt,jt2,jt3;
??????
?????? /*class MyPanel extends JPanel{
????????????? ?Label lb ;
?????????????
????????????? MyPanel(String s,JTextField jt){
???????????????????? setLayout(new FlowLayout());
????????????????????
???????????????????? lb=new Label(s);
???????????????????? add(lb);add(jt);
????????????? }
????????????? ?
?????? ?}*/
public Deletedialog(){
????????????? setSize(Width,Heigth);
????????????? setLocation(820,200);
????????????? setTitle(new String("刪除:"));
????????????? setLayout(new FlowLayout());
????????????? Container con=getContentPane();
????????????? jt=new JTextField(20);
????????????? Label lb=new Label("學號:");
????????????? /*jt2=new JTextField(20);
????????????? Label lb2=new Label("姓名:");
????????????? jt3=new JTextField(20);
????????????? Label lb3=new Label("性別:");*/
????????????? btn=new Button("確定");
????????????? btn.addActionListener(new Enter());
?????? ??? btn2=new Button("取消");
????????????? /*MyPanel p1=new MyPanel("學號:",jt);
????????????? MyPanel p2=new MyPanel("姓名:",jt2);
????????????? MyPanel p3=new MyPanel("性別:",jt3);*/
????????????? add(lb);add(jt);
????????????? //add(lb2);add(jt2);add(lb3);add(jt3);
????????????? add(btn);add(btn2);
?????????????
?????????????
?????? }
class Enter implements ActionListener{
??????
?? public void actionPerformed(ActionEvent e){
??????
?????? ??? Container con=getContentPane();
?????? ???
??????
?????? if(e.getActionCommand().equals("確定")){
?????????????
?????? con.setBackground(Color.red);
?????????????
?????????????
???????????????????? String sno=jt.getText();
????????????????????
???????????????????? Connection sin=Dbcon.getconnectin();
???????????????????? Dbcon.delete(sin, sno);
???????????????????? JOptionPane.showMessageDialog(null,"信息刪除成功!","信息",JOptionPane.INFORMATION_MESSAGE );
?????? ??????? dispose();
?????? ??
?????? ??
?????? ? }
???? }
??? }
?
}
?
?
?
4.3.6查詢
package rjgc;
?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
?
?
import java.sql.*;
?
?public class Cxdialog extends JFrame {
?????? ?public static final int Width =320;
?????? ?public static final int Heigth =230;
??????
?????? ?Button btn,btn2;
????? JTextField jt,jt2,jt3;
??????
?????? /*class MyPanel extends JPanel{
????????????? ?Label lb ;
?????????????
????????????? MyPanel(String s,JTextField jt){
???????????????????? setLayout(new FlowLayout());
????????????????????
???????????????????? lb=new Label(s);
???????????????????? add(lb);add(jt);
????????????? }
????????????? ?
?????? ?}*/
public Cxdialog(){
????????????? setSize(Width,Heigth);
????????????? setLocation(820,200);
????????????? setTitle(new String("查詢:"));
????????????? setLayout(new FlowLayout());
????????????? Container con=getContentPane();
????????????? jt=new JTextField(20);
????????????? Label lb=new Label("學號:");
????????????? btn=new Button("確定");
????????????? btn.addActionListener(new Enter());
?????? ??? btn2=new Button("取消");
????????????? /*MyPanel p1=new MyPanel("學號:",jt);
????????????? MyPanel p2=new MyPanel("姓名:",jt2);
????????????? MyPanel p3=new MyPanel("性別:",jt3);*/
????????????? add(lb);add(jt);
????????????? //add(lb2);add(jt2);add(lb3);add(jt3);
????????????? add(btn);add(btn2);
?????????????
?????????????
?????? }
class Enter implements ActionListener{
??????
?? public void actionPerformed(ActionEvent e){
??????
?????? ??? Container con=getContentPane();
?????? ???
??????
?????? if(e.getActionCommand().equals("確定")){
?????????????
?????? ??? con.setBackground(Color.red);
?????????????
?????? ???? Connection sin=Dbcon.getconnectin();
???????????????????? String sno=jt.getText();
???????????????????? ResultSet rs=null;
???????????????????? PreparedStatement stmt=null;
???????????????????? try {
???????????????????????????
??????????????????????????? ?stmt=sin.prepareStatement("select * from student where sno=?");
???????????????????? ??? stmt.setObject(1,sno);
??????????????????????????? rs=stmt.executeQuery();
??????????????????????????? while(rs.next()){
??????????????????????????? String msg=rs.getString("sno")+"\t"+rs.getString("sname")+"\t"+rs.getString("ssex")+"\t"+rs.getString("sage")+"\t"+rs.getString("sclass")+"\t"+rs.getString("smajor")+"\n";
??????????????????????????? JOptionPane.showMessageDialog(null,msg,"查詢結果:",JOptionPane.NO_OPTION );
??????????????????????????? }
???????????????????? ???????????? //stmt.close();
???????????????????? ???????????? //con.close();
??????????????????????????? } catch (SQLException h) {
?????????????????????????????????? // TODO Auto-generated catch block
?????????????????????????????????? h.printStackTrace();
??????????????????????????? }
???????????????????? }
?????????????
????????????????????
?????? ??????? dispose();
?????? ??
?????? ??
?????? ? }
???? }
??? }
?
?
?
結論
?
首先,更進一步的了解了數據庫的基本操作, 在這之前,數據庫的學習僅僅剛開了個頭,我們只是在了解一些概念性的東西。在做這個系統之前,我連基本的連接數據庫,配文件dsn,數據庫查詢語句等這些東西都不熟練。現在對于數據庫的增刪改查操作比較熟練了,對于初學者來說,比較頭疼的就是對于單引號的處理。我的建議是如果不理解先把按照課本上正確的語句敲,然后在多次進行數據庫的鏈接,增刪改查操作中不斷總結規律。 這次設計的學生信息管理系統,全在自己所掌握的知識下,進行編程設計,完全體現了自己在數據庫語言和程序設計課程學習狀況,充分地為自己以后更深入了數據庫語言奠下深厚的基礎。縱觀此學生信息管理系統的整體概況,目前,自我認為設計良好,相關功能都能夠實現,功能強大,條理清晰,界面可觀性比較好。并且特色在于,所設計的表單都在一個表單系統桌面中運行,比較符合系統的觀念。
--------學生信息管理系統小結經過大家的努力,學生管理系統終于做完了,經過這次實習系統設計,自己總結了這個學生信息管理系統的一些問題,不過收獲還是頗為豐富的,再有理論知識上結合實踐,使我學到了更多。在系統設計的過程中,我從中發現,學習數據庫要細心和有耐性,并且要不斷地從外界學習更多的技術才能設計出一套完美的系統。
?
致謝
時光飛逝,歲月如梭,短暫的實訓即將畫上句點。回想起這短暫的實訓生活,短暫而又美好,開啟了我未來的職業生涯,這段時光將是我人生中最寶貴的財富。感謝沈陽工程學院為我們提供實訓機會,感謝學校領導對我們實訓的支持,感謝指導過我的老師、同學。他們都在工作中給過我莫大的支持和幫助,度過了短暫快樂的實訓生活。??
??感謝老師用嚴謹敬業的態度指導我們學習、用溫柔體貼的話語指導我們生活,我最應該感謝的是我的父母,他們無私的給與我物質和精神上的支持和鼓勵,特在此表示感謝。
?
參考文獻
[1] 列出的只限于那些作者親自閱讀過的,最重要的且發表在公開出版物上的文獻或網上下載的資料。按引用文獻的順序,列于末。
[2] 參考文獻是專著時,書寫格式為:順序號 著者.書名.版本.其他責任者.出版地:出版者,出版年,文獻數量
[3] 竇振中.PIC系列單片機原理和程序設計.北京:北京航空航天大學出版社,1998
[4] 參考文獻是期刊時,書寫格式為:順序號作者.題名.其他責任者.刊名,年,卷(期):在原文獻中的位置
[5] 高為柄,程勉,夏小華.非線性控制系統的發展.自動化學報,1991,17
總結
以上是生活随笔為你收集整理的学生信息管理系统报告的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: PCL笔记二:PCD解析;PCD读取;P
 - 下一篇: 缓冲流等