版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 課程設(shè)計(jì)名稱:軟件綜合課程設(shè)計(jì)</p><p> 課程設(shè)計(jì)題目:工資管理軟件</p><p> 院(系):計(jì)算機(jī)學(xué)院</p><p> 專 業(yè):計(jì)算機(jī)科學(xué)與技術(shù)</p><p><b> 班 級(jí): </b><
2、;/p><p><b> 學(xué) 號(hào): </b></p><p><b> 目 錄</b></p><p> 第1章 概要設(shè)計(jì)1</p><p> 1.1 題目的內(nèi)容與要求1</p><p> 1.2 需求分析簡(jiǎn)述1</p><p&g
3、t; 1.3 數(shù)據(jù)庫(kù)概念模型設(shè)計(jì)2</p><p> 1.3.1 E-R圖2</p><p> 1.3.2職工實(shí)體圖2</p><p> 1.3.3職工工資實(shí)體圖3</p><p> 1.4 總體方案設(shè)計(jì)3</p><p> 第2章 詳細(xì)設(shè)計(jì)4</p><p>
4、2.1數(shù)據(jù)庫(kù)邏輯模型設(shè)計(jì)4</p><p> 2.1.1 職工表(Emp)4</p><p> 2.1.2 職工工資表(Sal)4</p><p> 2.2系統(tǒng)功能詳細(xì)設(shè)計(jì)5</p><p> 2.2.1職工錄入流程5</p><p> 2.2.2查詢職工流程6</p><p&
5、gt; 2.2.3工資統(tǒng)計(jì)流程7</p><p> 2.2.4打印工資流程7</p><p> 2.2.5更新維護(hù)流程8</p><p> 第3章 調(diào)試分析9</p><p> 3.1 問(wèn)題調(diào)試9</p><p> 3.2 結(jié)果分析9</p><p> 第4章
6、使用說(shuō)明10</p><p> 4.1 主界面10</p><p> 4.2 錄入職工10</p><p> 4.3 查詢職工11</p><p> 4.4 工資統(tǒng)計(jì)12</p><p> 4.5 打印工資13</p><p> 4.6 更新維護(hù)14<
7、/p><p><b> 參考文獻(xiàn)16</b></p><p> 附 錄(部分程序清單)17</p><p><b> 第1章 概要設(shè)計(jì)</b></p><p> 1.1 題目的內(nèi)容與要求</p><p> 為一般企業(yè)事業(yè)單位財(cái)務(wù)科開(kāi)發(fā)一個(gè)簡(jiǎn)單的工資管理軟件,使
8、財(cái)務(wù)工作人員能夠輕松管理工資臺(tái)賬業(yè)務(wù),實(shí)現(xiàn)其業(yè)務(wù)的計(jì)算機(jī)信息管理。</p><p> (1)職工基本信息的錄入:包括職工號(hào)、職工姓名、參加工作時(shí)間、職稱、職務(wù)、工資級(jí)別、基本工資、職務(wù)工資、崗位津貼等;</p><p> (2)信息查詢:按職工姓名、職工號(hào)、職務(wù)等進(jìn)行靈活多樣的查詢;</p><p> (3)信息更新維護(hù):?jiǎn)蝹€(gè)更新、批量修改、刪除、增加新記錄等
9、;</p><p> (4)統(tǒng)計(jì)報(bào)表:生成工資條,年月工資按單位統(tǒng)計(jì),生成報(bào)表并打?。?lt;/p><p> (5)工資信息條包括:參加工作時(shí)間、職工號(hào)、職工姓名、基本工資、崗位津貼、獎(jiǎng)金、補(bǔ)貼、扣病事假、扣稅金、實(shí)發(fā)工資等;</p><p> (6)如果沒(méi)有打印機(jī),則以屏幕輸出代替打印功能;</p><p> (7)人機(jī)交互界面采用可視
10、化界面;</p><p> (8)按要求寫(xiě)出課程設(shè)計(jì)報(bào)告。</p><p> 1.2 需求分析簡(jiǎn)述</p><p> 根據(jù)本次課程設(shè)計(jì)任務(wù)書(shū)的要求,本次課設(shè)的主要任務(wù)是對(duì)數(shù)據(jù)庫(kù)中的表進(jìn)行增刪改查操作。</p><p> (1)由于是對(duì)公司職員的信息進(jìn)行操作,所以需要在數(shù)據(jù)庫(kù)中建立一個(gè)Emp表,用來(lái)存儲(chǔ)職工的各類(lèi)信息,如職工號(hào)、姓名、工
11、作時(shí)間等。</p><p> (2)由于工資總類(lèi)比較多,為了方便管理,在數(shù)據(jù)庫(kù)中建立Sal表,用來(lái)存儲(chǔ)員工的工資,如基本工資、職務(wù)工資和崗位津貼等。</p><p> (3)由于需要用高級(jí)語(yǔ)言對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作,所以需要將Java和Oracle連接在一起,連接后用Java中對(duì)數(shù)據(jù)庫(kù)操作的語(yǔ)句對(duì)數(shù)據(jù)進(jìn)行相應(yīng)的操作。</p><p> 1.3 數(shù)據(jù)庫(kù)概念模型設(shè)計(jì)&
12、lt;/p><p> 1.3.1 E-R圖</p><p> 工資管理軟件共有兩個(gè)實(shí)體,分別是職工實(shí)體和職工工資實(shí)體,他們之間的關(guān)系是管理。E-R圖如圖1.1所示。</p><p><b> 圖1.1 E-R圖</b></p><p> 1.3.2職工實(shí)體圖</p><p> 工資管理軟件在
13、數(shù)據(jù)庫(kù)中有一個(gè)表Emp,所對(duì)應(yīng)的是職工實(shí)體,職工的屬性有職工編號(hào)、職工姓名、職工的入職日期、職工職務(wù)和職工職位,職工實(shí)體圖如圖1.2所示。</p><p><b> 圖1.2職工實(shí)體圖</b></p><p> 1.3.3職工工資實(shí)體圖</p><p> 在數(shù)據(jù)庫(kù)中創(chuàng)建表Sal,所對(duì)應(yīng)的是職工工資實(shí)體,職工工資的屬性有工資級(jí)別、基本工資、
14、職務(wù)工資、崗位津貼、獎(jiǎng)金、補(bǔ)貼、扣病事假和職工編號(hào),職工工資實(shí)體圖如圖1.3所示。</p><p> 圖1.3職工工資實(shí)體圖</p><p> 1.4 總體方案設(shè)計(jì)</p><p> 本次課設(shè)要實(shí)現(xiàn)的功能是對(duì)職工工資的各種操作,共有五大模塊分別是職工信息的錄入、職工信息的查詢、職工工資的統(tǒng)計(jì)、打印工資和職工信息的更新維護(hù)。系統(tǒng)總體模塊圖如圖1.4所示。<
15、;/p><p> 圖1.4 系統(tǒng)總體模塊圖</p><p><b> 第2章 詳細(xì)設(shè)計(jì)</b></p><p> 2.1數(shù)據(jù)庫(kù)邏輯模型設(shè)計(jì)</p><p> 2.1.1 職工表(Emp) </p><p> 職工表用來(lái)存放職工的基本信息,其中包括職工編號(hào)、職工姓名、職工入職日期、職工職務(wù)、
16、職工職位。職工表如表2.1所示。</p><p><b> 表2.1 職工表</b></p><p> 2.1.2 職工工資表(Sal) </p><p> 職工工資表用來(lái)存放職工的工資信息,包括職工級(jí)別、基本工資、職務(wù)工資、崗位津貼、獎(jiǎng)金、補(bǔ)貼、扣病事假和職工編號(hào)。職工工資表如表2.2所示。</p><p>
17、表2.2 職工工資表</p><p> 2.2系統(tǒng)功能詳細(xì)設(shè)計(jì)</p><p> 本工資管理軟件共分為五大模塊,分別是職工信息的錄入,職工信息的查詢,職工工資的統(tǒng)計(jì),打印工資和職工信息的更新維護(hù)。</p><p> 2.2.1職工錄入流程 </p><p> 職工錄入時(shí),首先需要輸入職工的信息,輸入完成后,點(diǎn)擊確定,職工信息錄入完成,
18、職工錄入流程圖如圖2.1所示。</p><p> 圖2.1職工錄入流程圖</p><p> 2.2.2查詢職工流程 </p><p> 查詢職工時(shí),首先需要選擇查詢方式,查詢方式共有三種:按姓名查詢、按職工編號(hào)查詢和按職務(wù)查詢,如選擇的是按工號(hào)查詢,則需要輸入職工號(hào),如果數(shù)據(jù)庫(kù)中存在該職工的信息,會(huì)將信息輸出,如果不存在,輸出錯(cuò)誤信息。查詢職工流程圖如圖2.2
19、所示。</p><p> 圖2.2查詢職工流程圖</p><p> 2.2.3工資統(tǒng)計(jì)流程 </p><p> 工資統(tǒng)計(jì)時(shí),首先需要輸入職工號(hào),如果數(shù)據(jù)庫(kù)中存在該職工信息,會(huì)統(tǒng)計(jì)出該職工的基本信息以及應(yīng)發(fā)工資。如果不存在,輸出錯(cuò)誤信息。工資統(tǒng)計(jì)流程圖如圖2.3所示。</p><p> 圖2.3工資統(tǒng)計(jì)流程圖</p>&l
20、t;p> 2.2.4打印工資流程 </p><p> 如果選擇了打印工資,會(huì)彈出窗口顯示所有員工的信息,以及扣除的稅金和實(shí)發(fā)的工資。打印工資流程圖如圖2.4所示。</p><p> 圖2.4打印工資流程圖</p><p> 2.2.5更新維護(hù)流程 </p><p> 更新維護(hù)時(shí),首先需要選擇操作方式,刪除員工或單個(gè)更新或批量更
21、新。如果選擇刪除員工,需要輸入職工號(hào),如果數(shù)據(jù)庫(kù)中存在該職工,則將該職工刪除,否則輸出錯(cuò)誤信息。如果選擇的是單個(gè)更新,在輸入職工號(hào)后輸入新的數(shù)據(jù),并點(diǎn)擊確定,如果更新失敗,彈出錯(cuò)誤信息。如果選擇的是批量更新,輸入新數(shù)據(jù)后點(diǎn)擊確定,如果更新失敗,彈出錯(cuò)誤信息。更新維護(hù)流程圖如圖2.5所示。</p><p> 圖2.5更新維護(hù)流程圖</p><p><b> 第3章 調(diào)試分析&
22、lt;/b></p><p><b> 3.1 問(wèn)題調(diào)試</b></p><p> ?。?)在執(zhí)行過(guò)程中,首次執(zhí)行會(huì)出現(xiàn)正確的結(jié)果,但是如果想要繼續(xù)執(zhí)行,就會(huì)出現(xiàn)異常,解決方法是每次在進(jìn)行操作后,都重新連接數(shù)據(jù)庫(kù),否則數(shù)據(jù)庫(kù)與程序之間的連接會(huì)自動(dòng)停止,無(wú)法正確運(yùn)行。</p><p> ?。?)在查詢職工時(shí),如果輸入的職工在數(shù)據(jù)庫(kù)中存在
23、,那么會(huì)正常的運(yùn)行,但是如果輸入的職工在數(shù)據(jù)庫(kù)中并不存在,就會(huì)出現(xiàn)異常,解決方法是將查詢結(jié)果進(jìn)行判斷,如果存在則輸出,否則輸出錯(cuò)誤信息。</p><p> (3)在建立職工工資表時(shí),創(chuàng)建了稅金屬性和總工資屬性,但是由于職工的工資會(huì)進(jìn)行變化,從而導(dǎo)致稅金和總工資也會(huì)跟著變化,不能正確運(yùn)行,解決方法是刪除稅金和總工資屬性,將兩者作為變量,用查詢的結(jié)果計(jì)算出二者的值,將此問(wèn)題解決。</p><p&
24、gt; (4)在連接數(shù)據(jù)庫(kù)時(shí),忘記將classes12.jar導(dǎo)入jar包,無(wú)法連接數(shù)據(jù)庫(kù),程序不能正常運(yùn)行,解決方法是將classes12.jar導(dǎo)入,使程序正常運(yùn)行。由于Oracle數(shù)據(jù)庫(kù)服務(wù)設(shè)置成了手動(dòng)啟動(dòng),所以在執(zhí)行程序之前必須將數(shù)據(jù)庫(kù)服務(wù)啟動(dòng),來(lái)維持程序正常運(yùn)行。</p><p><b> 3.2 結(jié)果分析</b></p><p> 本次課程設(shè)計(jì)實(shí)現(xiàn)
25、了任務(wù)書(shū)所要求的全部功能,人機(jī)交互采用了可視化界面,操作簡(jiǎn)單。查詢方式設(shè)置了按姓名、職務(wù)和職工編號(hào)三種方式,靈活方便。在程序的測(cè)試階段,驗(yàn)證了極端的數(shù)據(jù),程序都能給出相應(yīng)的處理,并且能顯示出理想的結(jié)果,彈出相應(yīng)的對(duì)話框,提醒用戶應(yīng)該如何進(jìn)行下一步操作。</p><p><b> 第4章 使用說(shuō)明</b></p><p><b> 4.1 主界面<
26、;/b></p><p> 程序運(yùn)行后會(huì)彈出主界面,主界面如圖4.1所示。</p><p><b> 圖4.1主界面</b></p><p><b> 4.2 錄入職工</b></p><p> 點(diǎn)擊了職工錄入按鈕,會(huì)彈出如圖4.2所示的錄入職工界面。</p><
27、p> 圖4.2職工錄入界面</p><p> 在相應(yīng)的對(duì)話框中輸入職工的信息,并點(diǎn)擊確定,如果輸入的信息正確,就會(huì)提示職工錄入成功,否則提示職工錄入失敗,職工錄入正確的提示信息如圖4.3所示。</p><p> 圖4.3職工錄入成功界面</p><p><b> 4.3 查詢職工</b></p><p>
28、 點(diǎn)擊了職工查詢按鈕,會(huì)彈出如圖4.4所示的職工查詢界面。</p><p> 圖4.4職工查詢界面</p><p> 如果選擇了按職工號(hào)查詢,會(huì)彈出如圖4.5所示的界面。</p><p> 圖4.5按工號(hào)查詢界面</p><p> 輸入職工號(hào)后,如果數(shù)據(jù)庫(kù)中存在該職工的信息,就會(huì)彈出如圖4.6所示的職工信息界面。</p>
29、<p> 圖4.6查詢結(jié)果界面</p><p><b> 4.4 工資統(tǒng)計(jì)</b></p><p> 點(diǎn)擊了打印工資按鈕后,會(huì)彈出等待輸入職工編號(hào)的界面,如果輸入的職工在數(shù)據(jù)庫(kù)中不存在,會(huì)彈出統(tǒng)工資統(tǒng)計(jì)失敗的界面,如圖4.7所示。</p><p> 圖4.7工資統(tǒng)計(jì)失敗界面</p><p> 統(tǒng)
30、計(jì)報(bào)表界面如圖4.8所示。</p><p> 圖4.8統(tǒng)計(jì)報(bào)表界面</p><p><b> 4.5 打印工資</b></p><p> 點(diǎn)擊了打印工資按鈕后,會(huì)顯示如圖4.9所示的打印工資界面。</p><p> 圖4.9打印工資界面</p><p><b> 4.6 更
31、新維護(hù)</b></p><p> 在點(diǎn)擊了更新維護(hù)按鈕后,會(huì)顯示如圖4.10所示的界面。</p><p> 圖4.10更新維護(hù)界面</p><p> 如果選擇職工刪除,需要輸入職工號(hào),如果輸入了正確的職工號(hào),點(diǎn)擊確定后,會(huì)顯示職工刪除成功的信息。如圖4.11所示。</p><p> 圖4.11刪除成功界面</p>
32、;<p> 如果選擇了單個(gè)更新,首先要輸入職工編號(hào),如圖4.12所示。</p><p> 圖4.12單個(gè)更新界面</p><p> 點(diǎn)擊確定后會(huì)顯示如圖4. 13的界面。</p><p> 圖4.13單個(gè)更新界面</p><p> 如果選擇了批量更新會(huì)顯示如圖4. 14所示的界面。</p><p&g
33、t; 圖4.14批量更新界面</p><p> 輸入了新數(shù)據(jù)后,點(diǎn)擊補(bǔ)貼,會(huì)顯示補(bǔ)貼更新成功的界面。如圖4.15所示。</p><p> 圖4.15補(bǔ)貼更新成功界面</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 王珊,薩師煊. 數(shù)據(jù)庫(kù)系統(tǒng)概論[M].北京:北京高等教育出版社,2005&l
34、t;/p><p> [2](美)克羅恩科. 數(shù)據(jù)庫(kù)原理(第三版)[M].北京:清華大學(xué)出版社,2003</p><p> [3](美)John Lewis WillIam Lofttus .Java 程序設(shè)計(jì)基礎(chǔ)[M].北京:清華大學(xué)出版社,2004</p><p> [4]耿祥義. Java 面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2010</p&g
35、t;<p> [5]王鵬.Java Swing 圖形界面開(kāi)發(fā)與案例詳解[M] .北京:清華大學(xué)出版社,2006</p><p> 附 錄(部分程序清單)</p><p> package DAO;</p><p> import Java.sql.Array;</p><p> import Java.sql.Co
36、nnection;</p><p> import Java.sql.DriverManager;</p><p> import Java.sql.PreparedStatement;</p><p> import Java.sql.ResultSet;</p><p> import Java.sql.SQLException;
37、</p><p> import Java.sql.Statement;</p><p> import GUI.SearchByNoGui;</p><p> import GUI.InMessageDialog;</p><p> import VO.Sall;</p><p> import VO.Us
38、erVo;</p><p> public class FunctionDao extends BaseDAO {</p><p><b> // 插入模塊</b></p><p> public int insert(Sall sal) {</p><p> int rows = 0;</p>&
39、lt;p><b> try {</b></p><p> connection.setAutoCommit(false);</p><p> String sql = "insert into sall values(?,?,?,?,?,?,?,?,?,?,?,?)";</p><p> ps = connec
40、tion.prepareStatement(sql);</p><p> ps.setString(1, sal.getNo());</p><p> ps.setString(2, sal.getName());</p><p> ps.setDate(3, sal.getdate());</p><p> ps.setString
41、(4, sal.getTitle());</p><p> ps.setString(5, sal.getPost());</p><p> ps.setInt(6, sal.getGrade());</p><p> ps.setFloat(7, sal.getSal());</p><p> ps.setFloat(8, sal.
42、getPostsal());</p><p> ps.setFloat(9, sal.getAllowance());</p><p> ps.setFloat(10, sal.getAward());</p><p> ps.setFloat(11, sal.getSubsidy());</p><p> ps.setFloat(1
43、2, sal.getThing());</p><p> rows = ps.executeUpdate();</p><p> if (rows > 0) {</p><p> connection.commit();</p><p><b> }</b></p><p> }
44、catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> try {</b></p><p> connection.rollback();</p><p> } catch (SQLException e1) {</p>
45、<p> e1.printStackTrace();</p><p><b> }</b></p><p> } finally {</p><p> this.closeAll();</p><p><b> }</b></p><p> retur
46、n rows;</p><p><b> }</b></p><p><b> // 按姓名查詢</b></p><p> public Sall searchByName(String s) {</p><p> Sall sal = null;</p><p>&
47、lt;b> try {</b></p><p> connection.setAutoCommit(false);</p><p> String sql = "select * from sall where sname = ?";</p><p> ps = connection.prepareStatement(s
48、ql);</p><p> ps.setString(1, s);</p><p> ResultSet rs = ps.executeQuery();</p><p> if (rs.next()) {</p><p> sal = new Sall(rs.getString(1), rs.getString(2), rs.getD
49、ate(3),</p><p> rs.getString(4), rs.getString(5), rs.getInt(6), rs</p><p> .getFloat(7), rs.getFloat(8), rs.getFloat(9));</p><p><b> }</b></p><p> } cat
50、ch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> try {</b></p><p> connection.rollback();</p><p> } catch (SQLException e1) {</p>&l
51、t;p> e1.printStackTrace();</p><p><b> }</b></p><p> } finally {</p><p> this.closeAll();</p><p><b> }</b></p><p> return s
52、al;</p><p><b> }</b></p><p><b> // 按職工號(hào)查詢</b></p><p> public Sall searchByNo(String number) {</p><p> Sall sal = null;</p><p>&
53、lt;b> try {</b></p><p> connection.setAutoCommit(false);</p><p> String sql = "select * from sall where sno = ?";</p><p> ps = connection.prepareStatement(sql
54、);</p><p> ps.setString(1, number);</p><p> ResultSet rs = ps.executeQuery();</p><p> if (rs.next()) {</p><p> sal = new Sall(rs.getString(1), rs.getString(2), rs.g
55、etDate(3),</p><p> rs.getString(4), rs.getString(5), rs.getInt(6), rs</p><p> .getFloat(7), rs.getFloat(8), rs.getFloat(9));</p><p><b> }</b></p><p> }
56、catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> try {</b></p><p> connection.rollback();</p><p> } catch (SQLException e1) {</p>
57、<p> e1.printStackTrace();</p><p><b> }</b></p><p> } finally {</p><p> this.closeAll();</p><p><b> }</b></p><p> retur
58、n sal;</p><p><b> }</b></p><p><b> //刪除職工</b></p><p> public int delete(String no) {</p><p> int rows = 0;</p><p><b> tr
59、y {</b></p><p> connection.setAutoCommit(false);</p><p> String sql = "delete from sall where sno=?";</p><p> ps = connection.prepareStatement(sql);</p>&l
60、t;p> ps.setString(1, no);</p><p> rows = ps.executeUpdate();</p><p> if (rows > 0) {</p><p> connection.commit();</p><p><b> }</b></p><
61、;p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> try {</b></p><p> connection.rollback();</p><p> } catch (SQLException e1) {&
62、lt;/p><p> e1.printStackTrace();</p><p><b> }</b></p><p> } finally {</p><p> this.closeAll();</p><p><b> }</b></p><p&
63、gt; return rows;</p><p><b> }</b></p><p><b> // 打印工資</b></p><p> public String salPrint() {</p><p> String s = "";</p><
64、;p><b> try {</b></p><p> connection.setAutoCommit(false);</p><p> String sql = "select * from sall ";</p><p> ps = connection.prepareStatement(sql);<
65、/p><p> ResultSet rs = ps.executeQuery();</p><p> s += "工號(hào) 姓名 職工入職時(shí)間 職務(wù) 職位 級(jí)別 基本工資 職務(wù)工資 崗位津貼 獎(jiǎng)金 補(bǔ)貼 扣病事假 扣稅金 實(shí)發(fā)工資 "</p><p><b> + "\n
66、";</b></p><p> while (rs.next()) {</p><p> float sal = rs.getFloat(7);</p><p> float postsal = rs.getFloat(8);</p><p> float allowance = rs.getFloat(9);&
67、lt;/p><p> float award = rs.getFloat(10);</p><p> float subsidy = rs.getFloat(11);</p><p> float thing = rs.getFloat(12);</p><p> float tax = (float) ((sal + postsal +
68、 allowance + award</p><p> + subsidy - thing) * 0.02);</p><p> float zong = (float) ((sal + postsal + allowance + award</p><p> + subsidy - thing) * 0.98);</p><p>
69、s += rs.getString(1) + "\t";</p><p> s += rs.getString(2) + "\t";</p><p> s += rs.getString(3) + "\t";</p><p> s += rs.getString(4) + "\t"
70、;</p><p> s += rs.getString(5) + "\t";</p><p> s += rs.getString(6) + "\t";</p><p> s += sal + "\t";</p><p> s += postsal + "\t&q
71、uot;;</p><p> s += allowance + "\t";</p><p> s += award + "\t";</p><p> s += subsidy + "\t";</p><p> s += thing + "\t";</
72、p><p> s += tax + "\t";</p><p> s += zong + "\t";</p><p> s += "\n";</p><p><b> }</b></p><p> } catch (SQLExcep
73、tion e) {</p><p> e.printStackTrace();</p><p><b> try {</b></p><p> connection.rollback();</p><p> } catch (SQLException e1) {</p><p> e1.
74、printStackTrace();</p><p><b> }</b></p><p> } finally {</p><p> this.closeAll();</p><p><b> }</b></p><p><b> return s;&l
75、t;/b></p><p><b> }</b></p><p><b> //查詢管理員</b></p><p> public UserVo searchUser(String id) {</p><p> UserVo uv = null;</p><p>
76、;<b> try {</b></p><p> String sql = " select * from users where userid = ? ";</p><p> ps = connection.prepareStatement(sql);</p><p> ps.setString(1, id);&l
77、t;/p><p> ResultSet rs = ps.executeQuery();</p><p> if (rs.next())</p><p> uv = new UserVo(rs.getString(1), rs.getString(2));</p><p> } catch (SQLException e) {</p&
78、gt;<p> e.printStackTrace();</p><p><b> try {</b></p><p> connection.rollback();</p><p> } catch (SQLException e1) {</p><p> e1.printStackTrace(
79、);</p><p><b> }</b></p><p> } finally {</p><p> this.closeAll();</p><p><b> }</b></p><p> return uv;</p><p><b
80、> }</b></p><p><b> // 按職務(wù)查詢</b></p><p> public Sall searchByPost(String s) {</p><p> Sall sal = null;</p><p><b> try {</b></p&g
81、t;<p> connection.setAutoCommit(false);</p><p> String sql = "select * from sall where post = ?";</p><p> ps = connection.prepareStatement(sql);</p><p> ps.setS
82、tring(1, s);</p><p> ResultSet rs = ps.executeQuery();</p><p> if (rs.next()) {</p><p> sal = new Sall(rs.getString(1), rs.getString(2), rs.getDate(3),</p><p> rs.g
83、etString(4), rs.getString(5), rs.getInt(6), rs</p><p> .getFloat(7), rs.getFloat(8), rs.getFloat(9));</p><p><b> }</b></p><p> } catch (SQLException e) {</p>&
84、lt;p> e.printStackTrace();</p><p><b> try {</b></p><p> connection.rollback();</p><p> } catch (SQLException e1) {</p><p> e1.printStackTrace();<
85、/p><p><b> }</b></p><p> } finally {</p><p> this.closeAll();</p><p><b> }</b></p><p> return sal;</p><p><b>
86、 }</b></p><p><b> //單個(gè)更新</b></p><p> public int ReNewOnly(String a, String b, String c) {</p><p> int rows = 0;</p><p><b> try {</b>&l
87、t;/p><p> connection.setAutoCommit(false);</p><p> String sql = "update sall set "+a+" = ? where sno = ?"; </p><p> ps = connection.prepareStatement(sql);</p&
88、gt;<p> ps.setString(1, b);</p><p> ps.setString(2, c);</p><p> connection.commit();</p><p> rows = ps.executeUpdate();</p><p> if (rows > 0) {</p>
89、<p> connection.commit();</p><p><b> }</b></p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> try {</b></
90、p><p> connection.rollback();</p><p> } catch (SQLException e1) {</p><p> e1.printStackTrace();</p><p><b> }</b></p><p> } finally {</p>
91、;<p> this.closeAll();</p><p><b> }</b></p><p> return rows;</p><p><b> }</b></p><p><b> //批量更新</b></p><p>
92、 public int ReNewAll(String a1, String a2) {</p><p> int rows = 0;</p><p><b> try {</b></p><p> connection.setAutoCommit(false);</p><p> String sql = &
93、quot;update sall set "+a1+" = ? "; </p><p> ps = connection.prepareStatement(sql);</p><p> ps.setString(1, a2);</p><p> connection.commit();</p><p>
94、rows = ps.executeUpdate();</p><p> if (rows > 0) {</p><p> connection.commit();</p><p><b> }</b></p><p> } catch (SQLException e) {</p><p&
95、gt; e.printStackTrace();</p><p><b> try {</b></p><p> connection.rollback();</p><p> } catch (SQLException e1) {</p><p> e1.printStackTrace();</p>
96、;<p><b> }</b></p><p> } finally {</p><p> this.closeAll();</p><p><b> }</b></p><p> return rows;</p><p><b> }&
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工資管理系統(tǒng)--軟件工程課程設(shè)計(jì)
- 軟件工程課程設(shè)計(jì)----工資管理系統(tǒng)
- java工資管理系統(tǒng)課程設(shè)計(jì)
- 軟件工程課程設(shè)計(jì)--企業(yè)工資管理系統(tǒng)
- 軟件工程課程設(shè)計(jì)--員工工資管理系統(tǒng)
- 課程設(shè)計(jì)--小型公司工資管理系統(tǒng)的設(shè)計(jì)
- 學(xué)校內(nèi)部工資管理系統(tǒng)軟件工程課程設(shè)計(jì)
- c++課程設(shè)計(jì)--小型公司工資管理系統(tǒng)
- ”小型公司工資管理系統(tǒng)設(shè)計(jì)“c++課程設(shè)計(jì)
- 小型公司工資管理系統(tǒng)設(shè)計(jì) c++課程設(shè)計(jì)
- 課程設(shè)計(jì)--超市庫(kù)存管理軟件設(shè)計(jì)
- 工資管理系統(tǒng)課程設(shè)計(jì)
- 工資管理系統(tǒng)課程設(shè)計(jì)
- 課程設(shè)計(jì)-工資管理系統(tǒng)
- D大學(xué)工資管理軟件項(xiàng)目的風(fēng)險(xiǎn)管理研究.pdf
- 工資管理系統(tǒng)課程設(shè)計(jì)
- 工資管理系統(tǒng)課程設(shè)計(jì)
- 工資管理系統(tǒng)(課程設(shè)計(jì))
- 軟件工程課程設(shè)計(jì)—— 大學(xué)工資管理系統(tǒng)的分析與設(shè)計(jì)
- 襄樊市勞動(dòng)系統(tǒng)工資管理軟件的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論