




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
-.z.數(shù)據(jù)庫程序設(shè)計(jì)大作業(yè)班級(jí):2012級(jí)軟件外包效勞一班**:7:。。。 時(shí)間:2013-6-191.功能描述 1.1功能簡介用swing做出圖形化界面形式,實(shí)現(xiàn)數(shù)據(jù)庫的增刪改查把員工表跟部門表連接起來,實(shí)現(xiàn)數(shù)據(jù)的增加,刪除,修改,查找。1.2實(shí)現(xiàn)步驟〔1〕安裝好虛擬機(jī),并在其下確認(rèn)oracle已安裝成功〔可以在dos下輸入相關(guān)命令來檢查是否安裝成功〕。〔2〕在網(wǎng)絡(luò)中心修改pc機(jī)上的VMwareNetworkAdapter的IP、子網(wǎng)頁碼〔默認(rèn)〕、網(wǎng)關(guān)。〔3〕修改虛擬機(jī)的IP、網(wǎng)掩碼〔默認(rèn)〕、網(wǎng)關(guān),確保PC機(jī)上的網(wǎng)關(guān)和虛擬機(jī)的IP一致。〔在控制面板——>網(wǎng)絡(luò)和共享中心——>本地連接3——>屬性中,修改IP、網(wǎng)掩碼〕〔4〕在PC機(jī)的dos命令控制臺(tái)ping虛擬機(jī)的IP,確保正常,能ping通〔即將虛擬機(jī)內(nèi)外ping通〕。〔5〕配置好虛擬機(jī)下的oracle的數(shù)據(jù)庫和監(jiān)聽。〔6〕在eclipse中編寫相關(guān)代碼,并用jtable實(shí)現(xiàn)圖形化界面,用以實(shí)現(xiàn)與數(shù)據(jù)庫的連接和操作數(shù)據(jù)庫等功能。〔7〕在eclipse中導(dǎo)入數(shù)據(jù)庫的驅(qū)動(dòng)。〔8〕運(yùn)行eclipse,查看運(yùn)行結(jié)果。2.核心代碼數(shù)據(jù)庫連接packageorg.l*.dbc;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLE*ception;importjava.sql.Statement;publicclassDatabaseConnection{ publicstaticvoidmain(String[]args){ Connectionconn=null; Statementstmt=null; ResultSetrs=null; try{ Class.forName("oracle.jdbc.driver.OracleDriver"); Stringurl="jdbc:oracle:thin:28:1521/WFJ"; conn=DriverManager.getConnection(url,"hr","hr"); stmt=conn.createStatement(); Stringsql="select*fromdepartments"; rs=stmt.e*ecuteQuery(sql); while(rs.ne*t()){ System.out.print(rs.getInt("department_id")); System.out.print("\t"); System.out.print(rs.getString("department_name")); System.out.print("\t"); System.out.print(rs.getInt("manager_id")); System.out.print("\t"); System.out.print(rs.getInt("location_id")); System.out.println(); } }catch(ClassNotFoundE*ceptione){ e.printStackTrace(); }catch(SQLE*ceptione){ e.printStackTrace(); }finally{ try{ if(rs!=null){ rs.close(); } if(stmt!=null){ stmt.close(); } if(conn!=null){ conn.close(); } }catch(SQLE*ceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } } }}生成getset方法packageedu;publicclassCountry{privateStringdepartment_id;privateStringdepartment_name;privateStringarea;privateStringpopulation;publicStringgetdepartment_id(){returndepartment_id; }publicvoidsetdepartment_id(Stringdepartment_name){=department_id; }publicStringgetdepartment_name(){returndepartment_name; }publicvoidsetdepartment_name(Stringdepartment_name){this.department_name=department_name; }publicStringgetmanager_id(){returnmanager_id; }publicvoidsetmanager_id(Stringmanager_id){this.manager_id=manager_id;}publicStringgetlocation_id(){returnlocation_id; }publicvoidsetlocation_id(Stringlocation_idn){this.location_id=location_id; } } }3實(shí)現(xiàn)方法packagetu*inghua;importjava.awt.Color;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjava.io.Serializable;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.util.ArrayList;importjava.util.List;importjava*.swing.JButton;importjava*.swing.JFrame;importjava*.swing.JLabel;importjava*.swing.JScrollPane;importjava*.swing.JTable;importjava*.swing.JTe*tField;importjava*.swing.table.DefaultTableModel;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;publicclassAppStudente*tendsJFrame{ privateJTe*tFielddepartment_idField; privateJTe*tFielddepartment_nameField; privateJTe*tFieldmanager_idField; privateJTe*tFieldlocation_idField; privateJTabletable; privateDefaultTableModelmodel; privateString[]columns={"department_id","department_name","manager_id","location_id"}; privateListdata; privateStudenttmp; publicAppStudent(){ data=newArrayList(); getContentPane().setLayout(null); JLabellblemployee=newJLabel("department_id"); lblemployee.setBounds(12,10,220,13); getContentPane().add(lblemployee); department_idField=newJTe*tField(); department_idField.setBounds(100,7,96,19); getContentPane().add(department_idField); department_idField.setColumns(10); JLabellblAge=newJLabel("department_name"); lblAge.setBounds(252,10,220,13); getContentPane().add(lblAge); department_nameField=newJTe*tField(); department_nameField.setBounds(365,7,96,19); getContentPane().add(department_nameField); department_nameField.setColumns(10); JLabellblStuno=newJLabel("manager_id"); lblStuno.setBounds(12,36,220,13); getContentPane().add(lblStuno); manager_idField=newJTe*tField(); manager_idField.setColumns(10); manager_idField.setBounds(100,33,96,19); getContentPane().add(manager_idField); JLabellblClass=newJLabel("location_id"); lblClass.setBounds(252,36,220,13); getContentPane().add(lblClass); location_idField=newJTe*tField(); location_idField.setColumns(10); location_idField.setBounds(365,33,96,19); getContentPane().add(location_idField); JButtonbtnAdd=newJButton("增加"); btnAdd.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ add(); } } ); btnAdd.setBounds(75,59,77,21); getContentPane().add(btnAdd); JButtonbtnDel=newJButton("刪除"); btnDel.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ del(); }} ); btnDel.setBounds(180,59,77,21); getContentPane().add(btnDel); JButtonbtnUpdate=newJButton("更新"); btnUpdate.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ update(); } } ); btnUpdate.setBounds(280,59,77,21); getContentPane().add(btnUpdate); JButtonbtnFind=newJButton("查找"); btnFind.addActionListener(newActionListener(){ publicvoidactionPerformed(ActionEvente){ find(); } } ); btnFind.setBounds(380,59,77,21); getContentPane().add(btnFind); model=newDefaultTableModel(columns,0); table=newJTable(model); table.addMouseListener(newMouseAdapter() { publicvoidmouseClicked(MouseEvente) { introw=table.getSelectedRow(); department_idField.setTe*t((String)table.getValueAt(row,0)); department_nameField.setTe*t((String)table.getValueAt(row,2)); manager_idField.setTe*t((String)table.getValueAt(row,3)); location_idField.setTe*t((String)table.getValueAt(row,4)); tmp=getInput(); } }); JScrollPanescrollPane=newJScrollPane(table); scrollPane.setBounds(12,100,571,248); getContentPane().add(scrollPane); setDefaultCloseOperation(E*IT_ON_CLOSE); setLocationRelativeTo(null); setLocation(350,200); setSize(601,380); setResizable(false); setVisible(true); } privateStudentgetInput(){ Studentstu=newStudent(); stu.department_id=department_idField.getTe*t(); stu.department_name=department_nameField.getTe*t(); stu.manager_id=manager_idField.getTe*t(); stu.location_id=location_idField.getTe*t(); returnstu; } privatevoidadd(){ data.add(getInput()); showTable(); } privatevoiddel(){ for(inti=0;i<data.size();i++) { if(tmp.equals(data.get(i))) { data.remove(i);break; } } showTable(); } privatevoidupdate(){ Studentstu=getInput(); for(inti=0;i<data.size();i++) { if(tmp.equals(data.get(i))){ data.remove(i); data.add(i,stu); break; } } showTable(); } privatevoidfind(){ removeRows(); Studentstu=getInput(); for(inti=0;i<data.size();i++){ Studenttmp=(Student)data.get(i); if(tmp.equals(stu)){ model.addRow(tmp.toArray()); break; } } } privatevoidshowTable(){ removeRows(); for(inti=0;i<data.size();i++) { Studentstu=(Student)data.get(i); model.addRow(stu.toArray()); } } privatevoidremoveRows(){ while(model.getRowCount()>0){ model.removeRow(0); } } publicstaticvoidmain(String[]args){ newAppStudent(); }}classStudentimplementsSerializable{ publicStringdepartment_id; publicStringdepartment_name; publicStringmanager_id; publicStringlocation_id; publicbooleanequals(Objectobj){ returnequals((Student)obj); } publicbooleanequals(Studentobj){ booleanisdepartment_id=true; if(obj.department_id!=null&&!"".equals(obj.department_id)){ isdepartment_id=department_id.equals(obj.department_id); } booleanisdepartment_name=true; if(obj.department_name!=null&&!"".equals(obj.department_n
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 影視后期制作與文化創(chuàng)意技術(shù)
- 餐飲企業(yè)員工培訓(xùn)及勞動(dòng)合同
- 提高輕質(zhì)材料制作的機(jī)械設(shè)備剛度方法研究
- 車輛改裝及采購技術(shù)支持合同
- 出借資產(chǎn)估值與咨詢服務(wù)協(xié)議
- 2025統(tǒng)編版語文六年級(jí)下冊第六單元素養(yǎng)培優(yōu)卷(含答案)
- 餐飲店線上線下營銷推廣合同
- 公司職員活動(dòng)策劃方案
- 公司游玩活動(dòng)方案
- 車貸保證金及車輛貸款提前還款合同
- 求職心理調(diào)適專家講座
- GB/T 6344-2008軟質(zhì)泡沫聚合材料拉伸強(qiáng)度和斷裂伸長率的測定
- GB/T 3532-1995日用瓷器
- 學(xué)術(shù)論文寫作規(guī)范與技巧課件
- 生物高中-基于大數(shù)據(jù)分析的精準(zhǔn)教學(xué)課件
- 工程結(jié)算審計(jì)實(shí)施方案(共8篇)
- 樂東221氣田投產(chǎn)專家驗(yàn)收匯報(bào)
- 信任五環(huán)(用友營銷技巧)課件
- 2022年廣東省深圳市中考化學(xué)真題試卷
- 危險(xiǎn)貨物道路運(yùn)輸安全生產(chǎn)管理制度
- GB∕T 8110-2020 熔化極氣體保護(hù)電弧焊用非合金鋼及細(xì)晶粒鋼實(shí)心焊絲
評(píng)論
0/150
提交評(píng)論