• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

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

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

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

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

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

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

      系統(tǒng)設(shè)計(jì)基于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站點(diǎn)。ASP.Net通過ADO.Net訪問數(shù)據(jù)庫,數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行均在Web服務(wù)器端完成,客戶端無須安裝任何軟件,通過瀏覽器即可訪問Web服務(wù)器并運(yùn)行程序。采用這種體系結(jié)構(gòu)的系統(tǒng)可以充分利用服務(wù)器資源,提供跨平臺(tái)、簡(jiǎn)單一致的應(yīng)用環(huán)境,實(shí)現(xiàn)開發(fā)環(huán)境與應(yīng)用環(huán)境的分離,減少系統(tǒng)開發(fā)和維護(hù)的工作量。

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

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

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

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

      1.設(shè)置模塊。

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

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

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

      2.管理模塊。

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

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

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

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

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

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

      3.查詢?cè)O(shè)置。

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

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

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

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

      (5)訓(xùn)練成績(jī)查詢。查詢單個(gè)士兵某個(gè)時(shí)間段的訓(xùn)練成績(jī)或某個(gè)項(xiàng)目所有士兵的訓(xùn)練成績(jī)。

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

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

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

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

      表1 net_filed

      表2 net_mans

      上級(jí)關(guān)系進(jìn)行級(jí)聯(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ù)選擇字段條件的不同,分別對(duì)文本、日期、整數(shù)、多文本等類型進(jìn)行添加字段。

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

      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中的選項(xiàng)不為空,就表示該項(xiàng)有搜索條件。

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

      book=358,ebook=358

      猜你喜歡
      字段士兵賬戶
      英軍士兵正在放飛Puma-LE無人機(jī)
      軍事文摘(2023年23期)2023-12-17 09:59:00
      圖書館中文圖書編目外包數(shù)據(jù)質(zhì)量控制分析
      探索自由貿(mào)易賬戶體系創(chuàng)新應(yīng)用
      外匯賬戶相關(guān)業(yè)務(wù)
      父親的股票賬戶
      特別健康(2018年4期)2018-07-03 00:38:20
      士兵獨(dú)白
      一個(gè)士兵的最后一封信
      CNMARC304字段和314字段責(zé)任附注方式解析
      無正題名文獻(xiàn)著錄方法評(píng)述
      關(guān)于CNMARC的3--字段改革的必要性與可行性研究
      偃师市| 汕头市| 尉氏县| 娄底市| 徐州市| 兰考县| 永泰县| 灵川县| 华蓥市| 思南县| 平罗县| 年辖:市辖区| 宜城市| 石城县| 永顺县| 芜湖县| 广宗县| 舒城县| 庆阳市| 商水县| 许昌市| 乐山市| 昭平县| 商丘市| 旌德县| 乌兰县| 靖西县| 巨野县| 武邑县| 武威市| 筠连县| 专栏| 靖边县| 荆门市| 定边县| 赞皇县| 赤水市| 昆山市| 平利县| 绍兴市| 陕西省|