国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ASP.NET的士兵檔案管理系統(tǒng)的設(shè)計開發(fā)

2010-09-07 09:56:48鄭州市消防支隊代鳳華李光明宋恩杰
河南科技 2010年21期
關(guān)鍵詞:字段士兵賬戶

鄭州市消防支隊 代鳳華 李光明 宋恩杰 白 偉

基于ASP.NET的士兵檔案管理系統(tǒng)的設(shè)計開發(fā)

鄭州市消防支隊 代鳳華 李光明 宋恩杰 白 偉

士兵檔案管理是一項耗時、繁瑣且又嚴謹?shù)墓ぷ?,筆者所在單位的計算機和辦公網(wǎng)絡(luò)已非常普及,但急需一款兵員檔案管理軟件,依托地方公司開發(fā)軟件開發(fā)周期長費用高,且不一定符合部隊的實際情況。受單位委托,筆者主持了網(wǎng)絡(luò)版士兵檔案管理系統(tǒng)的設(shè)計和開發(fā)工作,用于記錄士兵的基本信息、獎懲、訓(xùn)練和量化考核等數(shù)據(jù),已能夠滿足警務(wù)和戰(zhàn)訓(xùn)工作需要。

一、系統(tǒng)開發(fā)關(guān)鍵技術(shù)

系統(tǒng)設(shè)計基于B/S模式,ASP.NET構(gòu)架由Microsoft Visual Studio 2005環(huán)境開發(fā),編程語言使用C#.Net 1.0,數(shù)據(jù)庫使用Microsoft sql server 2000,界面編輯使用Macromedia dreamware V8.0,圖片編輯軟件使用Macromedia photoshop 8.01。

1.Browser/Server模式。B/S采用三層體系結(jié)構(gòu),即表示層Browser、功能層Web service和數(shù)據(jù)庫服務(wù)層DataBase service。使用IIS架設(shè)Web站點。ASP.Net通過ADO.Net訪問數(shù)據(jù)庫,數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行均在Web服務(wù)器端完成,客戶端無須安裝任何軟件,通過瀏覽器即可訪問Web服務(wù)器并運行程序。采用這種體系結(jié)構(gòu)的系統(tǒng)可以充分利用服務(wù)器資源,提供跨平臺、簡單一致的應(yīng)用環(huán)境,實現(xiàn)開發(fā)環(huán)境與應(yīng)用環(huán)境的分離,減少系統(tǒng)開發(fā)和維護的工作量。

2.ASP.NET。ASP.NET是創(chuàng)建動態(tài)WEB的一種強大的服務(wù)器端技術(shù),其建立于通用語言編譯執(zhí)行的程序構(gòu)架,通用語言的基本庫、消息機制、數(shù)據(jù)接口的處理都能無縫整合到ASP.NET的WEB應(yīng)用中,克服了ASP依靠服務(wù)器對腳本解釋執(zhí)行造成的代碼邏輯混亂、可重用性差和潛在的出錯可能。作為設(shè)計動態(tài)網(wǎng)站和開發(fā)B/S模式的應(yīng)用軟件,ASP.NET是一個很好的選擇。

3.C#.NET。C#編程語言是由微軟公司專門為.NET平臺設(shè)計的語言,由C、C++和Java發(fā)展而來,能快捷和方便地開發(fā)數(shù)據(jù)庫、Windows應(yīng)用程序、Web應(yīng)用程序、圖形設(shè)計、圖像處理以及多媒體技術(shù)等內(nèi)容。

二、系統(tǒng)主要功能模塊

開發(fā)士兵檔案管理系統(tǒng)的目的,是建立一個具有良好人機交互界面的平臺,可高效地管理兵員檔案信息。開發(fā)成功后的系統(tǒng)界面如圖1所示。

1.設(shè)置模塊。

(1)權(quán)限設(shè)置。設(shè)置系統(tǒng)登錄賬戶、密碼和操作權(quán)限。登錄賬戶分超級賬戶和普通賬戶,超級賬戶具有絕對的操作權(quán)限,可管理所有單位的士兵檔案,普通賬戶只能管理本單位的士兵檔案信息。如A單位的管理賬戶只能對屬于A單位的兵員信息進行管理和查詢,對B、C、D等單位的士兵檔案則無權(quán)查看。

(2)屬性設(shè)置。設(shè)置士兵檔案的所有基本信息項目,包括士兵姓名、籍貫、入伍時間、個人簡歷、培訓(xùn)記錄、獎懲記錄和訓(xùn)練成績等,由超級賬戶根據(jù)需要定制士兵檔案具體項目組成,并可結(jié)合實際進行添加、修改和刪除操作,非常的智能和便捷。且此功能的實現(xiàn)也是該系統(tǒng)開發(fā)時的一個難點所在。

(3)成績設(shè)置。用于添加士兵訓(xùn)練項目,系統(tǒng)管理員根據(jù)不同時期士兵的訓(xùn)練內(nèi)容,添加相應(yīng)的項目信息,由普通賬戶添加本單位的士兵訓(xùn)練成績,超級管理員可隨時調(diào)閱和統(tǒng)計。

2.管理模塊。

超級賬戶和普通賬戶除了可以對士兵檔案內(nèi)的基本信息進行管理外,系統(tǒng)還設(shè)計了以下一些功能。

(1)工作調(diào)動。如一名士兵從A單位調(diào)動到B單位,由超級賬戶操作完成,并在該士兵的檔案內(nèi)產(chǎn)生一個調(diào)動記錄。

(2)訓(xùn)練成績。記錄士兵不同時間段的訓(xùn)練情況,超級賬戶負責(zé)設(shè)置訓(xùn)練項目,由普通賬戶負責(zé)錄入訓(xùn)練成績。

(3)退伍管理。由系統(tǒng)管理員對退出現(xiàn)役的士兵進行歸類,并從所屬單位中刪除,被刪除的士兵信息歸入專門項目、可供查詢。

(4)外借管理。記錄士兵探親、休假、因公外出等的情況。

(5)量化管理。記錄士兵每月的量化考核成績,由普通賬戶輸入,超級賬戶可查詢、統(tǒng)計和修改。

3.查詢設(shè)置。

(1)基本信息查詢。用于查詢符合某一類或幾類項目信息的士兵情況。如查詢支隊所有河南籍士兵人數(shù)只需要在籍貫查詢欄目內(nèi)輸入河南,點擊查詢即可得到符合條件的所有士兵。如查詢同時符合河南籍、B型血、三級士官的士兵,在相應(yīng)的項目輸入和選擇后點擊查詢即可得到相應(yīng)的結(jié)果。

(2)退伍信息查詢。查詢已退出現(xiàn)役的士兵信息。

(3)外借信息查詢。查詢探親、休假、因公外出的士兵信息及起止時間。

(4)量化考核查詢。查詢士兵年、月量化考核成績并評定檔次。

(5)訓(xùn)練成績查詢。查詢單個士兵某個時間段的訓(xùn)練成績或某個項目所有士兵的訓(xùn)練成績。

(6)檔案信息查詢。查詢系統(tǒng)內(nèi)記錄的士兵實體檔案和文件信息等。

(7)打印查詢信息。對符合某一條件或某些條件的查詢結(jié)果,可生成Excel文件進行打印。

三、關(guān)鍵技術(shù)的實例代碼

1.數(shù)據(jù)庫行轉(zhuǎn)列功能的實現(xiàn)。開發(fā)士兵檔案管理系統(tǒng)的技術(shù)難點在于模擬數(shù)據(jù)庫行轉(zhuǎn)列,在數(shù)據(jù)庫中,一行是一條記錄,而一列是多條記錄,為使數(shù)據(jù)庫表的設(shè)計具有屬性設(shè)置的功能,實現(xiàn)士兵檔案屬性字段的動態(tài)添加、修改、刪除操作,把數(shù)據(jù)庫表中字段的增加轉(zhuǎn)化為記錄條數(shù)的增加。設(shè)計思路為建表net_filed(見表1)和表net_mans(見表2),表net_filed記錄字段屬性,表net_mans記錄士兵檔案屬性。表net_filed中每添加一條記錄,表net_mans中就相應(yīng)添加一個字段,滿足士兵的信息屬性按需添加、修改、刪除,并且也可以根據(jù)字段所屬(toclass字段)

表1 net_filed

表2 net_mans

上級關(guān)系進行級聯(lián)操作。

程序代碼如下:

switch(Request.QueryString("filedtype"))//根據(jù)要添加字段的類型,選擇不同的addsql語句

{

case 0:

addsql="alter tablenet_mans add "& Request.QueryString("enfiled")&"varchar(50)";

break;

case 1:

addsql="alter table net_mans add "& Request.QueryString("enfiled")&" datetime";

break; case 2:

addsql="alter table net_mans add "& Request.QueryString("enfiled")&" int";

break;

case 3

addsql="alter table net_mans add "& Request.QueryString("enfiled")&" varchar(255)" ;

break;

}

根據(jù)選擇字段條件的不同,分別對文本、日期、整數(shù)、多文本等類型進行添加字段。

2.對行轉(zhuǎn)列生成的表進行查詢。由于士兵檔案的項目是可以隨時添加、修改和刪除的,所以項目的屬性是不固定的,搜索的sql語句也不相同。解決辦法是把net_filed表中的字段全部羅列出來,將request中的變量及值全部記入session中。如果session(request變量)的值不為空,則sql語句追加該項。代碼如下:

String sesql="";//初始sql語句

string mySel=" select * from net_filed order by rank asc ";

DbCommand myCmd1=new DbCommand(mySel,myConn);

myCmd1.Connection.Open();

DbDataReaderDr1;

Dr1=myCmd1.ExecuteReader();

I(fDr1.Read()){//從net_filed中取出士兵屬性字段

while(Dr1.Read()){

i(fsession(""&rs(t"enfiled")&"")!=””){//如果form中的選項不為空,就表示該項有搜索條件。

switch(Dr1["filedtype"]){//根據(jù)字段的文本、日期、數(shù)字等不同的屬性,生成不同的sql語句。

case 0

sesql=sesql+""&rst("enfiled")&"like '%"&session(""&rst("enfiled")&"")&"%'and "

break;

case 1

sesql=sesql+""&rst("enfiled")&" = "&session(""&rst("enfiled")&"")&" and "

break;

case 2

i(fsession(""&rs(t"enfiled")&"")<>0){

sesql=sesql+""&rst("enfiled")&" = "&session(""&rst("enfiled")&"")&" and ";

}

break;

……

}

}

}

};

sesql=sesql.Trim();

3.對行轉(zhuǎn)列生成的表進行添加操作。添加士兵檔案代碼,與查詢代碼設(shè)計思路大體相同,F(xiàn)orm中的項目與net_mans中的字段項目相同,有內(nèi)容即添加,無內(nèi)容則不操作。

book=358,ebook=358

猜你喜歡
字段士兵賬戶
英軍士兵正在放飛Puma-LE無人機
軍事文摘(2023年23期)2023-12-17 09:59:00
圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
探索自由貿(mào)易賬戶體系創(chuàng)新應(yīng)用
中國外匯(2019年17期)2019-11-16 09:31:14
外匯賬戶相關(guān)業(yè)務(wù)
中國外匯(2019年10期)2019-08-27 01:58:28
父親的股票賬戶
特別健康(2018年4期)2018-07-03 00:38:20
士兵獨白
一個士兵的最后一封信
CNMARC304字段和314字段責(zé)任附注方式解析
無正題名文獻著錄方法評述
關(guān)于CNMARC的3--字段改革的必要性與可行性研究
顺义区| 元朗区| 遂平县| 炎陵县| 万安县| 宁陵县| 仪征市| 海晏县| 临清市| 阿克苏市| 思南县| 托克托县| 郁南县| 无极县| 汝阳县| 买车| 枞阳县| 邛崃市| 晋宁县| 肥乡县| 乐亭县| 乐安县| 绍兴市| 同江市| 邯郸市| 丁青县| 汨罗市| 江陵县| 双鸭山市| 永吉县| 长治县| 工布江达县| 岗巴县| 泰兴市| 贵定县| 全南县| 永靖县| 沁阳市| 东莞市| 清镇市| 牟定县|