軟件詳細設計說明書實例_第1頁
軟件詳細設計說明書實例_第2頁
軟件詳細設計說明書實例_第3頁
軟件詳細設計說明書實例_第4頁
軟件詳細設計說明書實例_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

軟件具體設計說明書實例

2023年6月

書目

1引言2

1.1編寫目的2

1.2項目背景2

1.3定義2

1.4參考資料3

2總體設計3

2.1需求概述3

2.2軟件結構4

3程序描述6

3.101登陸模塊6

3.202管理模塊錯誤!未定義書簽。

3.3031圖書信息查詢模塊錯誤!未定義書簽。

3.4032學生信息查詢模塊錯誤!未定義書簽。

3.5021入庫管理模塊錯誤!未定義書簽。

3.6022學生借書模塊錯誤!未定義書簽。

3.7023學生還書模塊錯誤!未定義書簽。

3.8024圖書注銷模塊錯誤!未定義書簽。

3.9接口設計錯誤!未定義書簽。

3.10測試要點43

文檔名稱:具體設計規(guī)格說明書

項目名稱:圖書館管理系統(tǒng)

項目負責人:陳新光

編寫TEST年月日

校對全部小組成員_____年_一月一—E1

審核全部小組成員_____年_一月一-H

批準XXX_____年一_月一_日

開發(fā)單位__________________________________________

組員:TESTITEST2TEST3

1引言

1.1編寫目的

圖書管理系統(tǒng)具體設計是設計的其次個階段,這個階段的主要任務是在圖書管理系統(tǒng)概要設計書基礎

上,對概要設計中產生的功能模塊進行過程描述,設計功能模塊的內部細微環(huán)節(jié),包括算法和具體數(shù)據(jù)結

構,為編寫源代碼供應必要的說明。

概要設計解決了軟件系統(tǒng)總體結構設計的問題,包括整個軟件系統(tǒng)的結構、模塊劃分、模塊功能和模

塊間的聯(lián)系等。具體設計則要解決如何實現(xiàn)各個模塊的內部功能,即模塊設計。具體的說,模塊設計就是

耍為已經(jīng)產生的圖書管理各子系統(tǒng)設計具體的算法。但這并不等同于系統(tǒng)實現(xiàn)階段用具體的語言編碼,它

只是對實現(xiàn)細微環(huán)節(jié)作精確的描述,這樣編碼階段就可以將具體設計中對功能實現(xiàn)的描述,干脆翻譯、轉

化為用某種程序設計語言書寫的程序。

1.2項目背景

依據(jù)xx學校希望能夠充分利用現(xiàn)代科技來提高圖書管理的效率,在原有的辦公系統(tǒng)基礎上進行擴展,

將一些可以用計算機來管理的都進行計算機化,使得圖書館管理人員工作更加便利,工作效率也更加的高。

1.3定義

?Mysql:數(shù)據(jù)庫管理軟件

?DBMS:數(shù)據(jù)庫管理系統(tǒng)

?Windows2000/2003/XP:運行環(huán)境

?JSP:軟件開發(fā)語言

?Myeclipse:開發(fā)工具

1.4參考資料

《軟件工程導論——第5版》張海藩編著清華高校出版社

《好用軟件工程》LeszekA.MaciaszekBrucLeeLiong著

機械工業(yè)出版社

2總體設計

2.1需求概述

依據(jù)需求分析文檔中的規(guī)格要求,運用條形碼掃描器進書、借書、還書,使得信息傳遞精確、流暢。

同時,系統(tǒng)最大限度地實現(xiàn)易安裝,易維護性,易操作性,運行穩(wěn)定,平安牢靠。

2.2軟件結構

系統(tǒng)由3大模塊,6小模塊組成:

序號編號名稱

1,01登陸模塊

2,02管理模塊

3,031圖書信息查詢模塊

4,032學生信息查詢模塊

5,021入庫管理模塊

6,022學生借書模塊

7,023學生還書模塊

8,024圖書注銷模塊

9,040基礎信息設置

3程序描述

3.101登陸模塊

具體格式見下表:

功能編號01功能名稱登陸模塊內容功能流程圖

所屬業(yè)務圖書館管理所屬項目圖書館管理

系統(tǒng)

編寫人陳新光完成時間2007-11-26頁碼第5頁

3.1.1功能流程圖

功能流程圖如下圖所示。

須要說明的問題:

(1)錄入項檢測運用javascript實現(xiàn)(各項必需非空)

(2)登陸.jsp頁面也包含查詢按鈕,在此的登陸.jsp提交的數(shù)據(jù)只是用戶

名和密碼。

3.1.2功能描述

(1)功能類型:查詢數(shù)據(jù)

(2)功能描述:提高系統(tǒng)的平安性

(3)前提業(yè)務:無

(4)后繼業(yè)務:02(管理模塊)

(5)功能約束:權限約束

(6)約束描述:

(7)操作權限:圖書館管理員

3.1.3界面設計

(1)基礎信息處理

動作說明:

動作編號動作名稱動作描述

A01登陸點擊登陸按鈕提交數(shù)據(jù)

到登陸數(shù)據(jù)處理.jsp頁面

A02重至點擊退重至按鈕將當前

信息復原原先狀態(tài)

A03圖書信息查詢點擊將頁面轉至到圖書

信息查詢.jsp頁面

A04學生信息查詢點擊將頁面轉至學生信

息查詢.jsp頁面

A05基礎信息點擊將顯示基礎信息

(2)數(shù)據(jù)要求

(1)功能類型:數(shù)據(jù)查詢

(2)數(shù)據(jù)描述:

頁面顯示錄入字段如下:

字段名稱長度錄入方式是否非空項數(shù)據(jù)檢驗默認顯示

管理員ID10文本框YN

管理員密碼15passwordYN

3.1.4登陸數(shù)據(jù)處理.jsp的內部邏輯

登陸數(shù)據(jù)處理:

關鍵點兩點:1,數(shù)據(jù)庫連接;2,記錄登陸信息及信息處理;

1,數(shù)據(jù)庫連接:

如下:

publicclasslib_system_ConnextendsObject{

publiclib_system_Conn(){

)

privateConnectionconn=null;

privateResultSetrs;

Stringre=n;

//設置你的數(shù)據(jù)庫ip

Stringdbip="127.0.0.1H;

//設置你的數(shù)據(jù)庫用戶名和密碼:

Stringuse="root”;

Stringpass="860409”;

//設置您的數(shù)據(jù)庫名

StringdbName=nlib_systemn;

publicjava.sql.ConnectiongetConn(){

try(

Class.forName(norg.gjt.mm.mysql.Driver").newlnstance();

Stringurl

=njdbc:mysql://"+dbip+n:3306/H+dbName+n?user=n+use+H&password=n+pass+

n&useUnicode=true&characterEncoding=GBKH;

conn=DriverManager.getConnection(url);

}

catch(Exceptione){

e.printStackTrace();

}

returnthis.conn;

)

}

〃在Mysql建立lib_system數(shù)據(jù)庫,之后將與數(shù)據(jù)操作相關數(shù)據(jù)與該數(shù)據(jù)庫相連;

2,記錄登陸信息及信息處理:

當用戶點擊“登陸”按鈕之后,數(shù)據(jù)將提交到登陸數(shù)據(jù)處理.jsp頁面。取得帳

號密碼這兩個從頁面?zhèn)魅氲闹担缓蟾鷶?shù)據(jù)庫當中管理員表中的賬號和密碼比

較。假如正確的話,在JSP的SESSION中存入一個標記屬性,表示當前已經(jīng)有

管理員登陸了。處理完畢后,跳轉到管理頁面,假如失敗,則提示登陸失敗,并

重新進入到登陸頁面。

具體的邏輯如下:

<%

Stringusername=ParamUtil.getString(request,nadmin_ID");

〃取得用戶名

Stringpassword=ParamUtil.getString(request,Hadmin_passwordn);

〃取得密碼

StringerroMsg='H,;

〃錯誤碼

if(username!=null&&password!=null)

try

(

SkinUtil.login(request,response,admin_ID,admin_password);

〃在JSP的session中存如一個標記屬性,表示當前已經(jīng)有管理員登陸了

Session.setAttributeC'adminJD^^dminJD);

response.sendRedirect(”login_process.jsp");

)

catch(UserNotFoundExceptione)

(

erroMsg廿錯誤的用戶名和密碼”;

response.sendRedirect(nlogin_process.jsp?,,+response.encodeURL(erroMsg));

)

else{

out.println("請?zhí)顚懞媚愕膫€人信息!)

}

%>

3.1.5存儲安排

管理員表:(admin)

序號字段名類型長度精度小數(shù)默認允許主鍵說明

位數(shù)值空

1(admin_ID)管理員Int10V

ID

2(admin_password)Char15

管理員密碼

3(adminquanxian)Nvarchar15

權限

3.202管理模塊

具體格式見下表

功能編號02功能名稱管理模塊內容功能流程圖

所屬業(yè)務圖書館管理所屬項目圖書館管理

系統(tǒng)

編寫人陳新光完成時間2007-11-26頁碼第8頁

3.2.1功能流程圖

功能流程圖如下所示:

須要說明的問題:

在選擇相應的業(yè)務時,須要在當前的頁面顯示;并且在管理頁面內,默認顯

示圖書查詢頁面。

3.2.2功能描述

(1)功能類型:其他

(2)功能概述:總體歸納圖書館管理功能

(3)前提業(yè)務:登陸模塊(01)

(4)后續(xù)業(yè)務:021,022,023,024,03

(5)功能約束:權限約束

(6)約束描述:

(7)操作權限:圖書館管理人員

3.2.3界面設計

(1)基本信息處理

動作說明如下:

動作編號動作名稱動作描述

A01入庫管理點擊按鈕將頁面轉至入

庫管理.jsp頁面

A02學生借書點擊按鈕將頁面轉至學

生借書Jsp頁面

A03學生還書點擊按鈕將頁面轉至學

生還書.jsp頁面

A04圖書注銷點擊按鈕將頁面轉至圖

書注銷.jsp頁面

A05圖書查詢點擊按鈕將頁面轉至圖

書查詢.jsp頁面

(2)數(shù)據(jù)要求

功能類型:其他

3.3031圖書信息查詢模塊

具體格式如下:

功能編號031功能名稱圖書信息查內容功能流程圖

詢模塊

所屬業(yè)務圖書館管理所屬項目圖書館管理

系統(tǒng)

編寫人陳新光完成時間2007-11-26頁碼第10頁

3.3.1功能流程圖

功能流程圖如下圖:

須要說明的問題:

錄入項檢測運用javascript來實現(xiàn)(各項非空);

操作權限:面對全部用戶

3.3.2功能描述

(1)功能類型:查詢數(shù)據(jù)

(2)功能概述:顯示查詢結果

(3)前提業(yè)務:無

(4)后繼業(yè)務:

(5)功能約束:沒有約束;

(6)約束描述:

(7)操作權限:面對全部用戶

3.3.3界面設計

(1)基礎信息處理

下表是動作說明:

動作編號動作名稱動作描述

A01確定點擊按鈕提交數(shù)據(jù)到圖

書查詢數(shù)據(jù)處理.jsp頁面

A02學生信息查詢點擊按鈕將頁面轉至學

生信息查詢.jsp頁面

(2)數(shù)據(jù)要求

(1)功能類型:數(shù)據(jù)查詢

(2)數(shù)據(jù)描述:

頁面顯示字段見下表:

字段名稱長度錄入方式是否非空項數(shù)據(jù)檢驗默認顯示

請選擇查詢20下拉列表YN

類型

請輸入查詢200文本框YN

內容

(3)圖書信息查詢的輸出項

圖書類型

作者

譯者

ISBN

出版社

價格

書架名稱

現(xiàn)存量

簡介

書名

圖書類型

3.3.4模塊內部邏輯

1,Search.jsp用于顯示界面的內容,給用戶顯示一個查詢接口

2,Lib_query.jsp用來調度全部的頁面,它依據(jù)傳入的參數(shù)來確定包

含哪一個jsp頁面來顯示內容;

在lib_query.jsp頁面中,

它依據(jù)傳入的參數(shù)來確定包含哪一個jsp頁面來顯示內容;則可

以通過<jsp:includepage="<%=%>”/>,利用jsp:include標簽來

被動態(tài)加載發(fā)送到相應頁面;

3,chuli.jsp用來處理數(shù)據(jù)查詢和顯示查詢到的結果列表。

在這個頁面中,數(shù)據(jù)要求是以列表的形式顯示到輸出頁面。

由于查詢到的結果可能過多,所以采納分頁形式顯示;

對于分頁功能的內部邏輯:

4,View.jsp用來顯示查詢到的圖書的各項屬性。

3.3.5存儲安排

圖書書目文件(Book):

序號字段名類型長度精度小數(shù)位數(shù)默認值允許空主鍵說明

1(BookID)圖書編號Int101V自動編號

2(TXM)條形碼nvarchar20

3(Title)書名nvarchar200

4(TSLX)圖書類型Nvarchar50

5(Author)作者Nvarchar20V

6(Translator)譯者Nvarchar20V

7(ISBN)ISBNNvarchar20

8(CBS)出版社Nvarchar30

10(SJMC)書架名稱Nvarchar20V

11(XCL)現(xiàn)存量Smallinl2V

12(KCZL)庫存總量Smallint2

13(RKSJ)入庫時間DatatimeV

14(CZY)操作員Nvarchar10V

15(JJ)簡介Nvarchar200V

16(JCCS)借出次數(shù)Smallint2V

17(SFzhuxiao)是否注銷Nvarchar2V

18(BookZT)圖書狀態(tài)nvarchar50

借書文件表(JSWJB):

序號字段名類型長度精度小數(shù)默認允許主鍵外鍵說明

位數(shù)值空

1(JYID)Int101自動

借閱編號編號

2(BookID)Int10J

圖書編號

3(SluID)學Int10J

生編號

4(JYSJ)借Datatime8V

閱時間

5(DQSJ)至?。軩atatime8V

期時間

6(XJCS)續(xù)Smallint2J

借次數(shù)

7(CZY)操Nvarchar10J

作員

8(ZT)狀態(tài)navarchar50J

3.4032學生信息查詢模塊

具體格式如下:

功能編號032功能名稱學生信息查內容功能流程圖

詢模塊

所屬業(yè)務圖書館管理所屬項目圖書館管理

系統(tǒng)

編寫人陳新光完成時間2007-11-26頁碼第12頁

3.4.1功能流程圖

功能流程圖如下圖:

失敗

學生信思杳詢.jsp—提交所填內容-A錄含落驗.成功一?學生郭黑數(shù)據(jù)執(zhí)行數(shù)據(jù)庫操作A是否成功一成功-A學生餐儼結

1失敗1

須要說明的問題:

錄入項檢測運用javascript來實現(xiàn)(各項非空);

操作權限:面對全部用戶

3.4.2功能描述

(8)功能類型:查詢數(shù)據(jù)

(9)功能概述:顯示查詢結果

(10)前提業(yè)務:無

(11)后繼業(yè)務:

(12)功能約束:沒有約束;

(13)約束描述:

(14)操作權限:面對全部用戶

3.4.3界面設計

(4)基礎信息處理

下表是動作說明:

動作編號動作名稱動作描述

A01確定點擊按鈕提交數(shù)據(jù)到圖

書查詢數(shù)據(jù)處理.jsp頁面

A02圖書信息查詢點擊按鈕將頁面轉至圖

書信息查詢.jsp頁面

(5)數(shù)據(jù)要求

(3)功能類型:數(shù)據(jù)查詢

(4)數(shù)據(jù)描述:

頁面顯示字段見下表:

字段名稱長度錄入方式是否非空項數(shù)據(jù)檢驗默認顯示

請輸入學號10文本框YN

(6)學生信息查詢的輸出項

學生學號

姓名

性別

生日

證件號碼

聯(lián)系電話

登記日期

有效期至

己借書數(shù)

3.4.4模塊內部邏輯

5,Search.jsp用于顯示界面的內容,給用戶顯示一個查詢接口

6,Index.jsp用來調度全部的頁面,它依據(jù)傳入的參數(shù)來確定包含哪

一個jsp頁面來顯示內容;

在index.jsp頁面中,

它依據(jù)傳入的參數(shù)來確定包含哪一^jsp頁面來顯示內容;則可

以通過<jsp:includepage="<%=%>”/>,利用jsp:include標簽來

被動態(tài)加載發(fā)送到相應頁面;

7,List.jsp用來顯示查詢到的結果列表。

8,View.jsp用來顯示查詢到的學生的各項屬性。

★★注釋:學生信息查詢模塊與圖書查詢模塊屬于同一類功能。實現(xiàn)

可以完全類似。

3.4.5存儲安排

學生文件:

序號字段字段名類型長度精度小數(shù)默認允許主鍵說明

位數(shù)值空

1XSID學生編號Int101自動

編號

2Name姓名nvarchar10

3Sex性別nvarchar2V

4ZJH證件號碼nvarchar25V

5LXDH聯(lián)系電話nvarchar40V

6DJRQ登記日期datetime8V

7YXQZ有效期至datetime8V

8YJSS己借書數(shù)smallint2

9RulelD學生規(guī)則int10

ID

10ZT是否掛失nvarchar2

借書文件:

序號字段名類型長度精度小數(shù)位默認值允許空主鍵外鍵說明

數(shù)

1借閱編Int101自動

號編號

2圖書編Int10V

3學生編Int10V

4借閱時Datatime8

5到期時Datatime8V

6續(xù)借次Smallint2

數(shù)

7操作員Nvarchar10J

8狀態(tài)navarchar50V

3.5021入庫管理

具體格式如下:

功能編號021功能名稱入庫管理模內容功能流程圖

所屬業(yè)務圖書館管理所屬項目圖書館管理

系統(tǒng)

編寫人陳新光完成時間2007-11-27頁碼第16頁

3.5.1功能流程圖

(1)執(zhí)行數(shù)據(jù)庫操作的時候要驗證權限

(2)錄入項檢驗用javascript來實現(xiàn)(選項非空)

3.5.2功能描述

(1)功能類型:添加數(shù)據(jù)

(2)功能描述:增加圖書書目文件中的圖書信息。

(3)前提業(yè)務:管理模塊

(4)后繼業(yè)務:無

(5)功能約束:權限約束

(6)約束描述:無

(7)操作權限:圖書館管理人員

3.5.3界面設計

1,基礎信息處理

動作說明如下表:

動作編號動作名稱動作描述

A01保存點擊按鈕提交數(shù)據(jù)到入

庫數(shù)據(jù)處理.jsp頁面

A02退出點擊按鈕將當前頁面關

2,數(shù)據(jù)描述

(1)功能類型:數(shù)據(jù)增加。

(2)數(shù)據(jù)描述:

頁面錄入字段見下表:

字段名稱長度錄入方式是否非空項數(shù)據(jù)檢驗默認顯示

書號30文本框YN

條形碼20文本框YN

書名200文本框YN

作者20文本框YN

出版社30文本框YN

版次50文本框YN

圖書類別20文本框YN

單價8文本框YN

錄入時間默認系統(tǒng)時年月日只需程序記顯示在入庫

間,格式:錄界面

錄入人默認系統(tǒng)登只需程序記顯示在入庫

陸人員錄界面

3,入庫數(shù)據(jù)處理內部邏輯:

圖書入庫采納表格進行多行添加:

利用javaBean來編寫一個BookBean來管理圖書。

在BookBean類中增加記錄的公共接口來實現(xiàn)入庫數(shù)據(jù)的添加。

具體的類設計如下:

Publicintinsert(Hashtablehash){

intintID=makeID("Book","BookID","","",true);

Vectorvect=newVector();

vect.add("Book");

vect.add(addVector("BookID",String.valueOf(intID),"NUM"));

vect.add(addVector("Title",ds.toString((String)hash.get("TITLE")),"

CHAR"));

vect.add(addVector("Author",ds.toString((String)hash.get("AUTHOR

")),"CHAR"));

vect.add(addVector("ISBN",ds.toString((String)hash.get("ISBN")),"

CHAR"));

OOOOOOOOOOOOOOOOOOOO//還有其他項,I司上格式。

returninsertRecord(vect);

}

該方法有一個參數(shù),是java.utiLHashtable類,在調用該方法

前,先用和hashtable的put方法將字段名和該條記錄的值存入

hashtable中,然后將這個hashtable作為參數(shù)傳入insert方法中。

在insert方法的最終,調用ParentBean中的insertRecord方

法,insertRecord可以依據(jù)傳入的參數(shù)自動的生成增加記錄的SQL

語句并通過JDBC發(fā)送到數(shù)據(jù)庫。

正對ParentBean類:主要是實現(xiàn)對數(shù)據(jù)庫的各種操作:如與

數(shù)據(jù)庫的連接,對數(shù)據(jù)庫的操作。

3.5.4存儲安排

圖書書目文件:

序號字段名類型長度精度小數(shù)位數(shù)默認值允許空主鍵說明

1圖書編號Int101V自動編號

2條形碼nvarchar20

3書名nvarchar200

4圖書類型Nvarchar50V

5作者Nvarchar20V

6譯者Nvarchar20V

7ISBNNvarchar20

8出版社Nvarchar30

9價格Money8V

10書架名稱Nvarchar20V

11現(xiàn)存量Smallint2V

12庫存總量Smallint2V

13入庫時間Datatime8V

14操作員Nvarchar10V

15簡介Nvarchar200

16借出次數(shù)Smallint2V

17是否注銷Nvarchar2V

18圖書狀態(tài)nvarchar50V

入庫表:

序號字段名類型長度精度小數(shù)位默認值允許空主鍵外鍵說明

數(shù)

1書號Nvarchar301自動

編號

2條形碼Nvarchar20

3書名Nvarchar200V

4作者Nvarchar20

5出版社Nvarchar30

6版次Nvarchar50V

7圖書類Nvarchar20J

8存放位Nvarchar20J

9單價Money8V

10入庫數(shù)Smallint2J

11金額Money8J

12經(jīng)手人Nvarchar10J

13票號Nvarchar3()J

14操作員Nvarchar10J

15日期Datatime8J

注:

3.6022學生借書模塊

具體格式如下:

功能編號022功能名稱學生借書模內容功能流程圖

所屬業(yè)務圖書館管理所屬項目圖書館管理

系統(tǒng)

編寫人陳新光完成時間2007-11-27頁碼第21頁

3.6.1功能流程圖

須要說明的問題:

(1)在進行借書,修改數(shù)據(jù)信息時,應先查詢學生的欠款信息,如欠款

超額,則利用javascript實現(xiàn)信息提示,拒絕借書,如無超額,則

接受借書。

(2)為便于以后的復原操作,此修改操作只在表中做一個標記,并不是

真正的對其修改;

3.6.2功能描述

(1)功能類型:修改數(shù)據(jù)和查詢數(shù)據(jù)

(2)功能描述:更新學生借書文件,圖書書目文件等中的信息;

(3)前提業(yè)務:管理模塊

(4)后繼業(yè)務:無

(5)功能約束:權限約束

(6)約束描述:

(7)操作權限:圖書館管理人員

3.6.3界面設計

1,基礎信息處理

動作說明如下:

動作編號動作名稱動作描述

A01重置點擊按鈕將文本框內的

全部數(shù)據(jù)清空

A02提交點擊按鈕將數(shù)據(jù)提交到

處理學生超額信息頁面

A03取消將當前頁面關閉,并取消

借閱

2,數(shù)據(jù)描述

(1)功能類型:修改數(shù)據(jù)和查詢數(shù)據(jù)

(2)界面設計:

書籍借閱管理

學生證件號碼:|

書籍條形碼:|

重置?r^~i?取消

(3)數(shù)據(jù)字段描述:

字段名稱長度錄入方式是否非空項數(shù)據(jù)檢驗默認顯示

學生證件號10文本框YN

書籍條形碼10文本框YN

3,圖書借閱數(shù)據(jù)處理內部邏輯

If(strEdit.equals(ul,,)){

If(學生超額I學生不存在){

ifSuccess=false;

}else{

If(!bb.IsValid(hash)){

〃新增操作

Intintdel[]=bb.addBorrow(hash);

If(intdel==null){

ifSuccess=false;

}else{

For(inti=O;i<intdel.length;i++){

%><script>alertC4<%=intdel[i]%>,,);</script><%

If(intdel[i]!=l)

ifSuccess=false;

If(!ifSuccess){

%>vscript>alert("借閱失敗!,,);</script><%

}else{

%><script>alert(“借閱勝利!”);v/script><%

執(zhí)行的過程如下:

首先要驗證學生信息是否存在和學生的欠款是否超額,也就是說學生是否可

以借書,圖書是否在館等,在確定合法之后調用bb.addBorrow(hash)來完成借閱

流程。流程其實就是對幾個表進行增改的操作。

關于addBorrow(hash)的算法:

publicint[]addBorrow(Hashtablehash)

(

System.out.println("批量處理新增借閱。。。。。。");

Stringsql="";

intintID=makeID("JYWJB","JYID",true);

StringstrID=String.valueOf(intID);

StringstrZJH=ds.toString((String)hash.get("ZJH"));〃證件號

StringstrTXM=ds.toString((String)hash.get("TXM"));〃條形碼

StringstrJYSJ=ds.toString((String)hash.get("JYSJ"));〃借閱時間

StringstrXSID="",學生ID

StringstrBOOKID=圖書ID

StringstrDQSJ=到期時間

StringstrXJCS="",續(xù)借次數(shù)

//依據(jù)學生證件號取的學生ID

〃依據(jù)學生ID取得規(guī)則ID,然后取得可以借閱天數(shù),

sql="selectStudent.RuleID,Student.XSID,Rule.KJYSJ"

+"fromStudengt,RULE"

+"whereStudent.ZJH='"+strZJH+"'and

Student.RuleID=Rule.RuleID

HashtablehashReId=(Hashtable)searchOneData(sql);

strXSID=ds.toString((String)hashReId.get("XSID"));

StringstrKJYSJ=ds.toString((String)hashReId.get("KJYSJ"));

//依據(jù)條形碼取得圖書ID

sql="selectBOOKIDfromBookwhereTXM="'+strTXM+;

HashtablehashBKID=(Hashtable)searchOneData(sql);

strBOOKID=ds.toString((String)hashBKID.get("BOOKID"));

〃新增操作

createStatement();

clearBatch();

sql="insertintoJSWJB(JYID,XSID,BOOKID,JYSJ,DQSJ,ZT,XJCS)"

+"values("+strID+","+strXSID+","+strBOOKID+","'+strJYSJ

+n,,to_char((to_date(n,4-strJYSJ+'n;yyyy-MM-dd')+n+strKJYSJ+',);yyyy-MM-dd,

y

+”「+strZero+1”'+strZero+'")”;

addBatch(sql);

sql="updateBooksetZT二借出'whereBOOKID=',+strBOOKID;

addBatch(sql);

sql="updateStudentsetYJSS=YJSS+1whereXSID="+strXSID;

addBatch(sql);

intresult[]=executeBatch();

closeStm();

returnresult;

)

而對于取消按鈕事務,由于要實現(xiàn)取消借閱,所以須要調用delBorrow(String

id)來取消借閱操作;算法如下:

publicint[]delBorrow(Stringid)

{

System.out.println("批量處理取消借閱。。。。?!?;

Stringsql=H";

sql=nselectBOOKIDfromJSWJBwhereJYID=n+id;

Hashtablehash=(Hashtable)searchOneData(sql);

StringstrBOOKID=(String)hash.get("BOOKID");

createStatement();

clearBatch();

sql=MupdateJSWJBsetZT="'+strOne+”'whereJYID="+id;

addBatch(sql);

sql="updateBOOKsetZT='可信whereBOOKID="+strBOOKID;

addBatch(sql);

int

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論