版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué) 號 1407070229 Java語言程序設(shè)計課程設(shè)計 課程設(shè)計說明書天津城建大學(xué)教學(xué)改革項目管理信息系統(tǒng)起止日期: 2016 年 1 月 4 日 至 2016 年 1 月 10 日學(xué)生姓名趙文豪班級軟件2班成績指導(dǎo)教師(簽字)計算機(jī)與信息工程學(xué)院軟件工程系年 月 日1、需求分析 程序的功能:系統(tǒng)注冊:用id和密碼注冊;系統(tǒng)登陸:用已注冊的id和密碼來登錄;錄入項目信息:在主界面的面板上顯示所有已添加的項目信息,而且項目信息不允許重復(fù),判斷關(guān)鍵字為學(xué)號;添加項目信息:在已有的項目記錄里添加新的項目信息。點(diǎn)擊主界面的添加按鈕,跳到添加界面,用戶從鍵盤輸入項目信息,完成后點(diǎn)擊確定添加按鈕,顯示
2、“添加成功”字樣,系統(tǒng)將信息添加到數(shù)據(jù)庫表格中,并通過Vector在主面板上顯示。刪除項目記錄:在已有項目記錄中刪除,用戶從鍵盤輸入要刪除的id,成功刪除后更新到表中。修改項目記錄:在已有記錄中修改某一個項目的記錄,輸入要修改的id,判斷記錄中是否存在該id,若存在,顯示修改界面供用戶修改。查詢項目記錄:包括按id查詢和按項目類型查詢。在指定位置輸入所需查詢id,點(diǎn)擊“按id查詢”,面板上顯示所查詢的信息;或者選擇所需查詢的項目類型,點(diǎn)擊“按類型查詢”,面板上顯示信息;退出系統(tǒng):點(diǎn)擊“退出”按鈕,退出系統(tǒng);輸入輸出的要求:注冊登錄添加等各種操作時輸入的id,密碼,項目記錄信息都為String類
3、型。測試數(shù)據(jù):注冊成功后點(diǎn)擊到相應(yīng)登陸頁面,按提示輸入已注冊的id,提示登陸成功后自動跳轉(zhuǎn)main系統(tǒng)頁面,按提示選擇所需增、刪、改、查各種功能,所需信息會顯示在main的主面板上。2、概要設(shè)計 注冊并成功登陸系統(tǒng)后,出現(xiàn)項目管理信息界面,主面板顯示所有已有項目信息,可以對教學(xué)改革的各種項目信息進(jìn)行增加,刪除,修改,查詢,進(jìn)入相應(yīng)界面進(jìn)行信息管理,完成后退出系統(tǒng)界面。 注冊 登陸退出系統(tǒng)分別按照id和選題類型查詢項目信息刪除已有項目信息修改項目信息增加項目信息3、 詳細(xì)設(shè)計3.1. 創(chuàng)建Teacher類,User類,設(shè)置變量及對應(yīng)方法 public class Teacher private
4、String title; private String date; private String type; private String money; private String time; Getter and Setter并創(chuàng)建構(gòu)造函數(shù); public class Users public int id;private String password; Getter and Setter并創(chuàng)建構(gòu)造函數(shù);3.2. Teacher管理類TeacherDao,創(chuàng)建對應(yīng)方法,實(shí)現(xiàn)對Teacher對象的操作(顯示主面板統(tǒng)計所有項目信息、增、刪、改、查等功能)供view包里的對象調(diào)用。User管
5、理類UserDao及對應(yīng)方法,創(chuàng)建注冊界面對象操作的方法,供view包里的Login類使用。3.3 util包里的DBCon類,用來連接關(guān)閉數(shù)據(jù)庫public class DBCon public static Connection getCon()Connection con=null;try Class.forName("com.mysql.jdbc.Driver");con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/test", "root", "
6、;admin"); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return con;3.4. View包里創(chuàng)建AddTea,Delect,Login,Regist,Update類,實(shí)現(xiàn)注冊界面,登陸界面和所有對項目信息,使用者信息管理的界面,同時創(chuàng)建Main對象,調(diào)用方法,實(shí)現(xiàn)項目所有基本內(nèi)容管理。3.5
7、 添加項目:選擇用鼠標(biāo)控制按鈕“添加”,從Main里選擇“添加”項目,獲得對象,進(jìn)入添加界面按要求輸入信息,項目類型、結(jié)題時間從下拉菜單中選擇,添加完畢后用集合Vector同步到Main的面板上。3.6刪除項目:在已有項目記錄中刪除,要求用戶從鍵盤輸入要刪除的id,遍歷表格是否有輸入id的項目信息,如果存在則自動刪除,沒有則提示刪除失敗,成功刪除后更新到表中。3.7修改項目:傳遞對象到修改方法,要求用戶輸入要修改的id,遍歷記錄中是否存在該id,若存在,顯示修改界面供用戶修改。修改成功后獲得對象,使用Vector同步到主面板上。3.8查詢項目記錄:包括按id查詢和按項目類型查詢。在指定位置輸入
8、所需查詢id,點(diǎn)擊“按id查詢”,面板上顯示所查詢的信息;或者選擇所需查詢的項目類型,點(diǎn)擊“按類型查詢”,面板上顯示信息;3.9退出系統(tǒng):使用System.exit(0);4、 調(diào)試分析4.1. String sql="select * from teacher where id=?,name1=?,teacher=?,title=?,date1=?,type=?,money=?,time=?"String sql="update teacher set name1=?,teacher=?,title=?,date1=?,type=?,money=?,time=?
9、 where id=?"String sql="delete from teacher where id=?"String sql="insert into teacher(id,name1,teacher,title,date1,type,money,time)value(?,?,?,?,?,?,?,?)"一定要寫對,不然運(yùn)行時會出現(xiàn)很多錯誤4.2 數(shù)據(jù)的增刪改查操作,實(shí)現(xiàn)數(shù)據(jù)庫連接,需要將有關(guān)的SQL語句傳入,在實(shí)現(xiàn)完有關(guān)項目信息的操作之后要關(guān)閉數(shù)據(jù)庫操作;4.3 在得到所有的數(shù)據(jù)這一操作中,用到了集合類Vector,將數(shù)據(jù)添加到集合Vec
10、tor中實(shí)現(xiàn)對信息的瀏覽;4.4 PreparedStatement在實(shí)現(xiàn)數(shù)據(jù)的過程中,需要用?占據(jù)位置,之后在對其依次賦值,PreparedStatement可實(shí)現(xiàn)對部分?jǐn)?shù)據(jù)的傳值5. 核心源程序清單和執(zhí)行結(jié)果/類TeacherDaopublic class TeacherDao/增加public int addTea(Teacher teacher)Connection con=DBCon.getCon();String sql="insert into teacher(id,name1,teacher,title,date1,type,money,time)value(?,?,
11、?,?,?,?,?,?)"int count=0;PreparedStatement prest=null;Statement st=null;ResultSet rs=null;try prest=con.prepareStatement(sql);prest.setString(1, teacher.getId();prest.setString(2, teacher.getName();prest.setString(3, teacher.getTeacher();prest.setString(4, teacher.getTitle();prest.setString(5,
12、teacher.getDate();prest.setString(6, teacher.getType();prest.setString(7, teacher.getMoney();prest.setString(8, teacher.getTime();count=prest.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();DBCon.Close(st, con, rs);return count;/刪除/id,name,teacher,title,d
13、ate,type,money,timepublic static int Delect(Teacher teacher1)Connection con=DBCon.getCon();String sql="delete from teacher where id=?"PreparedStatement prest=null;int count=0;try prest = con.prepareStatement(sql);prest.setString(1,teacher1.getId();count=prest.executeUpdate(); catch (SQLExc
14、eption e) / TODO Auto-generated catch blocke.printStackTrace();DBCon.Close(prest, con);return count; /修改/id,name,teacher,title,date,type,money,timepublic int updateTeacher(Teacher t,String id) / TODO Auto-generated method stubConnection con=DBCon.getCon();String sql="update teacher set name1=?,
15、teacher=?,title=?,date1=?,type=?,money=?,time=? where id=?"PreparedStatement prest=null;int count=0;try prest = con.prepareStatement(sql);prest.setString(1,t.getName();prest.setString(2,t.getTeacher();prest.setString(3,t.getTitle();prest.setString(4,t.getDate();prest.setString(5,t.getType();pre
16、st.setString(6,t.getMoney();prest.setString(7,t.getTime();prest.setString(8,t.getId();count=prest.executeUpdate(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();finallyDBCon.Close(prest, con);return count;/通過id查詢信息/id,name,teacher,title,date,type,money,timepublic Vector
17、 getAllTea2(String id)Vector v=new Vector();Connection con=DBCon.getCon();PreparedStatement prest=null;ResultSet rs=null;String sql="select * from teacher where id=?"try prest=con.prepareStatement(sql); prest.setString(1, id); rs=prest.executeQuery();while(rs.next()Vector<String> v1=
18、new Vector<String>();v1.add(rs.getString(1);v1.add(rs.getString(2);v1.add(rs.getString(3);v1.add(rs.getString(4);v1.add(rs.getString(5);v1.add(rs.getString(6);v1.add(rs.getString(7);v1.add(rs.getString(8);v.add(v1); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();re
19、turn v;/通過類型查找信息public Vector findkind(String type)Vector v=new Vector();Connection con=DBCon.getCon();String sql="select * from teacher where type=?"PreparedStatement prest=null;ResultSet rs=null;try prest=con.prepareStatement(sql);prest.setString(1, type);rs=prest.executeQuery();while(rs
20、.next()Vector<String> v1=new Vector<String>(); v1.add(String.valueOf(rs.getInt(1);v1.add(rs.getString(2);v1.add(rs.getString(3);v1.add(rs.getString(4);v1.add(rs.getString(5);v1.add(rs.getString(6);v1.add(rs.getString(7);v1.add(rs.getString(8);v.add(v1); catch (SQLException e) / TODO Auto
21、-generated catch blocke.printStackTrace();DBCon.close(con, prest, rs);return v;/遍歷所有信息public Vector findall() / TODO Auto-generated method stubVector v=new Vector();Connection con=DBCon.getCon();String sql="select * from teacher "PreparedStatement prest=null;ResultSet rs=null;try prest=con
22、.prepareStatement(sql);rs=prest.executeQuery();while(rs.next()Vector<String> vc=new Vector<String>(); vc.add(rs.getString(1);vc.add(rs.getString(2);vc.add(rs.getString(3);vc.add(rs.getString(4);vc.add(rs.getString(5);vc.add(rs.getString(6);vc.add(rs.getString(7);vc.add(rs.getString(8);v.
23、add(vc); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();DBCon.close(con, prest, rs);return v;/類DBConpublic class DBCon public static Connection getCon()Connection con=null;try Class.forName("com.mysql.jdbc.Driver");con = DriverManager.getConnection("jdbc:m
24、ysql:/localhost:3306/test", "root", "admin"); catch (ClassNotFoundException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();return con;public static void Close(Statement st,Connection con,Re
25、sultSet rs) / TODO Auto-generated method stubif(rs!=null)try rs.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();if(st!=null)try st.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();if(con!=null)try con.close(); catch (SQLExcepti
26、on e) / TODO Auto-generated catch blocke.printStackTrace();public static void close(Connection con, PreparedStatement prest) / TODO Auto-generated method stubif(prest!=null)try prest.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();if(con!=null)try con.close(); ca
27、tch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();public static void close(Connection con,PreparedStatement prest,ResultSet rs)try if(rs!=null)rs.close();if(prest!=null)prest.close();if(con!=null)con.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStac
28、kTrace();public static void Close(PreparedStatement prest, Connection con) / TODO Auto-generated method stubif(prest!=null)try prest.close(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();if(con!=null)try con.close(); catch (SQLException e) / TODO Auto-generated catch b
29、locke.printStackTrace();/類AddTeapublic void mouseClicked(MouseEvent e) /確定添加String id=textid.getText().toString();String name=textname.getText().toString();String teacher=textteacher.getText().toString();String title=texttitle.getText().toString();String date=textdate.getText().toString();String typ
30、e=texttype.getSelectedItem().toString();String money=textmoney.getText().toString();String time=texttime.getSelectedItem().toString(); Teacher teacher1=new Teacher(id,name,teacher,title,date,type,money,time); TeacherDao teacherdao=new TeacherDao(); /addtea int count=teacherdao.addTea(teacher1); if(c
31、ount=1) JOptionPane.showMessageDialog(null, "新增信息成功"); else JOptionPane.showMessageDialog(null, "新增信息失敗"); /類Delectpublic void mouseClicked(MouseEvent arg0) /刪除String id=textid.getText().toString();String name=textname.getText().toString();String teacher=textteacher.getText().toS
32、tring();String title=texttitle.getText().toString(); String date=textdate.getText().toString();String type=(String) texttype.getSelectedItem();String money=textmoney.getText().toString();String time=(String) texttime.getSelectedItem(); Teacher teacher1=new Teacher(id,name,teacher,title,date,type,mon
33、ey,time); int count=TeacherDao.Delect(teacher1); if(count=1) JOptionPane.showMessageDialog(null, "刪除成功"); else JOptionPane.showMessageDialog(null, "刪除失敗"); /類Loginpublic class Login extends JFrame public Login() public void mouseClicked(MouseEvent e) /實(shí)現(xiàn)登錄操作/得到用戶名Main frame=new M
34、ain();frame.setVisible(true);String u=username.getText().toString();String p=password.getText().toString();Users user=new Users(u,p);UsersDao userdao=new UsersDao();boolean flag= userdao.checkUser(user);if(flag)JOptionPane.showMessageDialog(null, "登錄成功");else JOptionPane.showMessageDialog(
35、null, "登錄失敗");final JButton regist = new JButton("u6CE8u518C");regist.addMouseListener(new MouseAdapter() Overridepublic void mouseClicked(MouseEvent e) Regist frame=new Regist();frame.setVisible(true); );/類Mainpublic class Main extends JFrame types.addMouseListener(new MouseAdap
36、ter() Overridepublic void mouseClicked(MouseEvent e) String cate=comboBox1.getSelectedItem().toString();TeacherDao dao = new TeacherDao();Vector vt=dao.findkind(cate);Vector<String> v=new Vector<String>();v.add("id");v.add("name");v.add("teacher");v.add(&quo
37、t;title");v.add("date");v.add("type");v.add("money");v.add("time");/Vector v_tea=teacherdao.getAllTea1(type);DefaultTableModel model=new DefaultTableModel(vt,v);table.setModel(model);xiugai.addMouseListener(new MouseAdapter() Overridepublic void mouseClic
38、ked(MouseEvent e) /點(diǎn)擊修改,需要傳值到id號;if(textid.getText().equals("")JOptionPane.showMessageDialog(null, "請輸入要修改的id號:");String id=textid.getText();Update frame=new Update();frame.setVisible(true);)/類Registpublic class Regist extends JFrame public Regist() JButton button = new JButton(&
39、quot;u6CE8u518C");button.addMouseListener(new MouseAdapter() Overridepublic void mouseClicked(MouseEvent e) /得到頁面所輸入信息String username=txt_name.getText();String password=txt_word.getText();Users use=new Users(username,password);UsersDao usersdao=new UsersDao();int count=usersdao.addUser(use);if(count=1)JOptionPane.showMessageDialog(null, "注冊成功"); elseJOptionPane.showMessageDialog(null, "注冊失敗"); );/類Updatepublic class Update extends JFrame public static void main(Str
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 手術(shù)側(cè)臥位介紹(jiaoliu)
- 2024電商行業(yè)標(biāo)準(zhǔn)制定合同3篇
- 苗木種植技術(shù)交流與合作合同
- 農(nóng)業(yè)支架租賃協(xié)議
- 郵政快遞服務(wù)國家標(biāo)準(zhǔn)管理辦法
- 家用電器制造電路改造合同
- 酒店前臺主管聘用合同樣本
- 互聯(lián)網(wǎng)企業(yè)信息存檔
- 石化廠電力供應(yīng)合同
- 機(jī)械制造廠防火門安裝協(xié)議
- 《榜樣9》觀后感心得體會二
- 2024年公安機(jī)關(guān)理論考試題庫附參考答案(基礎(chǔ)題)
- 2023年高考文言文閱讀設(shè)題特點(diǎn)及備考策略
- 暖通工程合同
- (正式版)SHT 3046-2024 石油化工立式圓筒形鋼制焊接儲罐設(shè)計規(guī)范
- 志愿服務(wù)證明(多模板)
- 游戲綜合YY頻道設(shè)計模板
- 食材配送投標(biāo)服務(wù)方案
- 項目經(jīng)理績效考核評分表
- 氯前列醇及氯前列醇鈉原料藥建設(shè)項目建議書寫作模板拿地立項備案
- 四川省監(jiān)理企業(yè)安全責(zé)任清單(2.0版)參考模板
評論
0/150
提交評論