999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ASP.NET開發圖書館報紙記到系統*

2015-05-13 00:19:05黃文碧湖北大學圖書館湖北武漢430062
圖書館學刊 2015年2期
關鍵詞:頁面數據庫圖書館

黃文碧(湖北大學圖書館,湖北武漢430062)

?

基于ASP.NET開發圖書館報紙記到系統*

黃文碧
(湖北大學圖書館,湖北武漢430062)

[摘要]針對國內圖書館對報紙管理的需要,利用ASP.NET技術和SQL后臺數據庫開發一個簡單、實用、高效的圖書館報紙記到系統。從需求分析、結構設計、數據庫設計、頁面設計以及模塊功能的實現等多方面介紹了系統。

[關鍵詞]圖書館報紙記到系統ASP.NET

[分類號]G255.3

*本文系國家自然科學基金青年基金項目“跨學科研究對科研生產力演化的作用機制——基于高校跨學科組織的分析”(71403104);教育部人文社會科學研究青年基金項目“跨學科研究與科研生產力:基于高校跨學科組織的分析”(14YJCZH005);浙江省自然科學基金青年基金項目“高校跨學科組織科研生產力演化機理研究”(LQ13G30016)成果。

1 引言

報紙是一種內容豐富、傳播速度快、反映動態信息的紙質媒體,具有知識性、時效性、新聞性等特點[1]。長久以來,報紙一直都是圖書館文獻資源的重要組成部分。各圖書館在其訂閱上少則幾十種,多則上百種、上千種。每天面對大量的到館報紙記到工作,圖書管理員基本采用的是卡片手工記到、Excel電子表格等辦公軟件記到;甚至很多圖書館并無記到管理,直接上架陳列。這種處理方式往往造成館員工作量大、報紙陳列分散、零亂、無規律,后期裝訂和回溯工作操作困難,報紙缺失等現象。

筆者通過調查發現,當前大多數圖書管理系統都側重于對圖書和期刊的管理,而并沒有報紙管理模塊。比如國內主流的兩大圖書管理系統:ILAS系統、匯文系統皆沒有針對報紙管理的模塊,圖書館員只能另想辦法來開展報紙的記到工作。因此開發出一個簡便、實用的報紙記到系統是非常必要的。它不僅能讓圖書管理員從繁瑣的工作中解脫出來,也能保證報紙到館的完整性、有序性,并對后期的下架、裝訂、回溯、查詢等工作提供有效的支持。

筆者選擇ASP.NET技術來開發B/S模式的圖書館報紙記到系統軟件,開發環境應用的是Vistual Studio 2005,通過IIS來進行網頁的發布,客戶可通過瀏覽器來對系統進行管理操作,以實現報紙記到、催缺、查詢、統計等多項功能。

2技術介紹與系統分析

2.1 ASP.NET技術介紹

ASP.NET作為Microsoft Visual.NET的重要組成部分之一,是Intranet和Internet開發Web應用程序的新一代開發工具。ASP.NET是建立在公共語言運行庫上的編程框架,可用于服務器上生成功能強大的Web程序,它與早期ASP版本相比擁有更多的優勢[2]。

第一,性能更加強大。ASP.NET是在服務器上運行的編譯好的公共語言代碼,與過去不同的是,它可以利用早期綁定、實時編譯、緩存服務和本機優化來提高其性能。第二,世界級的工具支持。ASP.NET框架下集成了開發環境中的大量工具箱和設計器供開發人員選用。第三,更簡潔、易用。ASP.NET使執行窗口請求提交、客戶端身份驗證等常見任務變得更加容易。第四,可管理性。ASP.NET采用的是基于文本的分層系統,由于其配置信息是以純文本形式存儲的,因此可在沒有本地管理工具的幫助下,只需通過復制必要文件到服務器即可應用新設置。第五,可擴展性強。ASP.NET是一個設計完整的機構,開發人員可以在適當的地方插入代碼,也可使用自己編譯的自定義組件來進行擴展新組件和新功能。最后,安全性強。借助其內置的Windows身份驗證以及基于每個應用程序的配置,從而達到保證應用程序安全的目的。

2.2系統需求分析

圖書館報紙記到系統其核心功能為報紙記到管理,并以此為中心衍生出相關的輔助功能,如報紙催缺、報紙查詢、報紙信息管理、工作量統計等。報紙記到是對每天到館的報紙進行記到操作,將其名稱、卷期、訂購號、價格等信息分別錄入信息系統中;報紙催缺是對于時間已到期而尚未到館的報紙,系統能自動輸出目錄,提示管理員該報紙缺失,并顯示報紙的詳細信息,方便與報紙供應方及時聯系,進行補缺,從而達到保持館藏報紙連續性和完整性的目的;報紙信息管理,實現管理員對已錄入信息系統中的報紙信息進行管理性操作,如錯誤更改、信息添加、信息刪除等,以便于保證報紙信息的正確性和有序性;工作量統計,圖書館管理員可通過此功能查詢到自己一段時間內報紙記到工作量的統計數據。

2.3系統功能模塊結構分析

根據系統需求分析,可清楚確定5個功能模塊:記到模塊、催缺模塊、應到數據管理模塊、報紙信息系統管理模塊、工作量統計模塊。同時為保證系統的安全性,需設置管理員模塊,實現用戶登錄系統時的身份驗證,以防止其他人的誤操作。本系統在設計之初主要針對圖書館管理員單一用戶,暫未考慮其他權限用戶操作,在今后實際操作中如需進行新的權限劃分,可增添其他用戶模塊。

3系統基礎數據庫設計

3.1數據庫技術介紹

報紙記到系統采用的是Microsoft SQL Server 2005。該數據庫技術十分全面,最為突出的特點有3個:商務智能(BI)、可編程性和安全性。在商務智能方面,集成數據分析、整合和報表功能,提供更好的決策支持;提供一種新的數據模型,用于簡化異源數據間的連通性問題;提供對XML/A的集成支持;提供更成熟的數據挖掘工具。在可編程性方面,SQL Server 2005能更好地實現與.NET的集成,它將CLR直接植入數據庫引擎,使開發人員能夠用VB、C+等多種語言直接編程,從而達到與.NET程序框架的緊密協作。在安全性方面,它默認的安全配置、固有的數據加密以及強制口令策略等功能,能有效地保證程序更可靠地運行[3]。

3.2數據庫表設計

本報紙記到系統數據庫名為ems,它含有newspaper、weekmod、record、duerecord、users、newsboy6個基礎數據庫表格。

①newspaper為報紙基本信息表。其作用是記錄報紙的名字、訂購號、價格、登記信息等。如表1所示。

表1  newspaper

表2  weekmod

表3  duerecord

4系統體系結構設計

ASP.NET結構是通常意義上的三層架構(3-tier architec?ture):表現層(UI)、業務邏輯層(BLL)、數據訪問層(DAL)。區分層次的目的即為了實現“高內聚,低耦合”的思想。基于此原理,本系統在體系結構設計上也采用三層結構,這樣做的目的主要是使項目結構層數更清楚、可視度高、分工更明確,有利于周期系統維護與后期功能拓展和系統升級。這三層結構分別為:頁面表示層(USL)、業務邏輯層(BLL)、數據訪問層(DAL)。

①頁面表示層(USL):負責與用戶交互,接受用戶輸入和呈現服務器端傳來的數據給用戶。

②業務邏輯層(BLL):接收客戶端請求并將請求傳送給數據訪問層,然后將處理結果傳回客戶端。

③數據訪問層(DAL):該層功能為直接操作數據庫,針對數據的增添、刪除、修改、查找等。

5系統功能模塊的實現

5.1數據訪問層的實現

系統的數據庫配置信息寫在vitual studio工具自動生成的主配置文件web.config中。web.config文件是一個XML文本文件,它用來儲存ASP.NETWeb應用程序的配置信息(如最常用的設置ASP.NETWeb應用程序的身份驗證方式),它可以出現在應用程序的每一個目錄中[4]。示例代碼如下所示:

其中server指定服務器的名稱,database屬性指定數據庫的名稱。而uid和pwd分別指定鏈接數據庫時使用的用戶名和密碼。

系統的類文件都放在vitual studio默認的App_Code文件夾中,每一個類文件都實現了調用相應存儲過程實現相應數據庫表的操作,比如weekmod.cs實現了對表weekmod的增刪等操作。類文件GenericDataAccess.cs創建統一的數據庫操作接口。

指定數據庫鏈接信息后,GenericDataAccess.cs通過使用DbProviderFactories.GetFactory來創建一個DbCommand實例,示例代碼如下:

public static DbCommand createcommand()

{ string providename = ConfigurationManager.Con? nectionStrings["newspaper"].ProviderName;

string connectstring = ConfigurationManager. ConnectionStrings["newspaper"].ConnectionString;

//從上文的newspaper字符串中獲取數據庫配置信息

DbProviderFactory factory = DbProviderFactories. GetFactory(providename);

DbConnection conn=factory.CreateConnection();conn.ConnectionString=connectstring;

DbCommand comm=conn.CreateCommand();

comm.CommandType=CommandType.StoredProce?dure;

return comm;}

如果weekmod.cs需要實現一個數據庫插入操作,則可調用上面的函數,從而實現代碼的復用。

通過在數據庫中建立存儲過程就可以實現數據的插入操作,示例代碼如下:

Create PROCEDURE [dbo].[insertweekmod]

@monday1 int,@tuesday1 int,@wednesday1 int,@thurs?day1 int,@friday1 int,@daturday1 int,@sunday1 int,@start?date1 datetime,@id1 nvarchar(16)

AS SET NOCOUNT ON;

select*from weekmod where id=@id1 and startdate= @startdate1

if @@rowcount>0 begin return -1 end else INSERT INTO [weekmod]([monday],[tuesday],[wednesday],

[thursday],[friday],[daturday],[sunday],[startdate],[id])VALUES(@monday1,@tuesday1,@wednesday1,@thursday1,@friday1,@daturday1,@sunday1,@startdate1,@id1)return@@error

系統的數據操作是通過以上流程來實現的,即首先通過web.config中的connectionStrings來定義數據庫的連接字符串,然后GenericDataAccess.cs中的函數creatcommand來創建一個統一的dbcommand實例,如果要實現對數據庫中表單的操作,只需要具體化dbcommand實例就可以了。這種寫法使得每個類文件分工明確,使用起來非常方便,并加快了開發速度。同時,對數據庫的操作也采用了存儲過程,簡化了操作過程。因此筆者認為這是一個比較優化的方案。其他的存儲過程可以參照上面的做法。

5.2報紙記到功能

5.2.1記到功能模塊頁面設計(newrecord.aspx)

①報紙記到功能是本系統的重要功能,也是用的最多的功能。所以用戶界面必須方便、簡潔、友好。該頁面由兩個輸入框和一個提交按鈕組成。

②管理員操作流程如下:輸入郵發代號——〉確認檢索天數(系統為默認14天)——〉點擊提交。提交郵發代碼和檢索天數后,系統會自動計算所檢索天數(從當天開始算起以前相應天數,含當天)內該報紙應記到的報紙(按照到報周期表,這些報紙應該到),并自動生成列表,點擊生成列表項中前面的按鈕,系統對該日期的報紙記到,即在record表中新增了一條數據。更新newrecord.aspx頁面,方便查看記到結果和進行下一步操作。如圖1所示。

圖1 記到頁面

③在頁面中也要對輸入框進行事件處理,實現鼠標點擊輸入框時,自動清除以前的數據項。對“enter”鍵事件進行處理,實現按“enter”鍵時,能進行提交操作。從而使界面的操作更為方便和人性化。

5.2.2記到功能模塊業務邏輯流程(newrecord.aspx.cs)

①業務邏輯層函數獲取頁面傳遞過來的郵發代號(id)后,通過數據庫層查詢表“newspaper”來獲取該郵發代號的情況:A:查無此刊,返回錯誤信息;B:查有此刊物,轉到②。

②業務邏輯層函數結合參數“檢索天數”,用循環函數從當前日期開始對該報紙每天的記到情況進行判斷。循環函數如下:

for(int i=1;i

一般有下列情況:

A:當前所查詢報紙已經記到,即表record中已經存在所查日期記錄,則將當前查詢日期從當天推前相應天數,示例代碼如下:

dt=DateTime.Now.AddDays(-i)//i如上文為前推天數

B:當前所查詢報紙未記到,即表示數據庫表record中不存在所查日期記錄,則需要查詢當前所查日期是否為應到數據。

要查詢當前日期是否是應到數據,需要對數據庫表weekmod進行操作,比如當前所查日期通過運算。例如星期二,如果在查詢weekmod中,表項Tuesday的數值為0,則為應到數據;為1則是非應到數據。因為對于同一個郵發代號,在表weekmod中,可能有多項數據與之對應。同時系統在通過查詢表weekmod來確定被查詢日期對應星期幾,是否為應到報紙時,必須先找到距離當前查詢日期最近的第一個,且字段startdate值要小于當前查詢日期數據項。然后通過查詢表weekmod來確定被查詢日期的對應星期是否為應到報紙。

如果返回結果表明該日期不在應到周期內,則將上文for循環中的參數i加1,進入下個循環;如果在應到周期內,則自動生成一個單選項,并顯示到頁面上。

以上為頁面邏輯設計,下一步需要實現記到功能,即單擊生成的單選項,觸發按鈕事件,實現記到,到此整個記到模塊完成。需要說明的是,每記到一次,頁面都需要重新刷新,以生成新的狀態。

5.3應到數據管理模塊

5.3.1應到數據管理模塊功能實現

應到數據管理模塊是管理按照到報周期每一年應該到的刊物的相關數據。這些數據由表duerecord來存儲,它是實現報紙催缺功能的基礎。比如《人民日報》按照到報周期是每天,那么duerecord這個表中應該詳細存儲其每天的到館信息。本系統中這些信息都是通過自動生成代碼來生成的。

5.3.2應到數據管理模塊頁面設計

這個模塊包含3個頁面,分別為編輯應到報紙信息(du?erecord.aspx),單個生成應到報紙數據(singlegeneriteduere?cord.aspx),批量生成應到報紙數據(batchgener iteduerecord. aspx)。編輯應到報紙信息功能只是簡單的對表duerecord的管理,實現更新和刪除操作。單個生成應到報紙是實現某份報紙某年的應到數據,一般用在當報紙周期變更時,需要單個生成。批量生成應到數據某年份所有報紙的應到數據,一般在開學年初時生成該數據。

①單個生成報紙數據功能的頁面實現(singlegeneritedu?erecord.aspx)

這里需要兩個文本控件和一個提交按鈕共同完成提交操作。這兩個控件分別為:輸入郵發代號文本控件、輸入年份文本控件。

②單個生成報紙數據功能的功能實現(singlegeneriteduere?cord.aspx.cs)

詳細流程如下:

第一步:通過年份信息,得出該年份最大日期為該年的12月31日,最小日期為該年的1月1日。

第二步:取當前日期為該年12月31日,計算其星期值,如上文代碼,然后通過查詢表weekmod來確定被查詢日期的對應星期是否為應到報紙(如上文代碼)。如果返回結果表明該日期不在應到周期內,則將當前日期減1天,即12月30號,進入下個循環;如果在應到周期內,則向表duerecord中插入相應信息。該過程的實現代碼與上文大同小異,這里不再給出示例。

③批量生成應到報紙數據的頁面實現(batchgeneritedu?erecord.aspx)

這個頁面只需要一個輸入框來獲取年份信息,一個da?tagrid控件來顯示生成的數據項,需要自定義一個項來實現功能按鈕的功能。

④批量生成應到報紙數據的功能實現(batchgeneritedu?erecord.aspx.cs)

詳細流程如下:

第一步:查詢表newspaper中沒有生成應到報紙數據的項,并將數據綁定到頁面上的datagrid控件中。

第二步:單擊圖5中的“生成”按鈕,生成單個的報紙記到數據。生成單個報紙記到數據的實現方法與前面相同。

5.4催缺模塊

5.4.1催缺模塊頁面設計(stat.aspx)

催缺模塊實現的功能為導出兩個時間點內未到的刊物。所以頁面由兩個calendar控件和一個提交按鈕組成。calendar控件的作用是顯示一個日歷,用戶可通過該日歷導航到任意一年的任意一天。

5.4.2催缺模塊功能實現(stat.aspx.cs)

基本原理:對比時間一與時間二在表duerecord中存在,但在表record中不存在的數據項,然后顯示在頁面上。

基本設計過程為:用一個datatable實例來存儲返回來的數據,再將databale中的數據項存儲在excel文件中實現自動生成文件功能。由于需要催缺的報紙數據一般不多,也可以將產生的數據項直接顯示在頁面上,進而呈現在管理員面前,使用起來也很簡潔、方便。

5.5報紙信息管理模塊

這個模塊實現的功能是對newspaper、record、duerecord等表的增刪改操作。因為這些操作具有普適性,所以這里不再闡述。值得注意是,ASP.NET的datagrid控件支持自動實現更新和刪除操作,能減少開發的難度和時間,充分體現ASP.NET在其系統開發的強大控件功能。由于datagrid控件功效優越,本系統也采用了這種方法。

5.6統計查詢模塊

工作量統計模塊實現了查詢某個管理員在某段時間內記到的報紙數。所以頁面由一個輸入框(輸入工作人員ID)、兩個calendar控件(選擇一個時間段)和提交按鈕組成。基本原理為查詢表record中在兩個時間點內某個工作人員記到的數據項的數目,其實現過程與前面有類似性,開發中可查考上述方法和代碼。

5.7系統的初始化和管理

第一次使用報紙記到系統,需要初始化報紙信息、報紙周期表等信息后系統才能使用。因為報紙出版商有時要調整出報周期,比如原來是星期二出刊,現在改成星期四(即到報周期改變),為了應對變化,要采取相應操作,即報紙周期每一次改變時,必須新增報紙周期而不能采用更改操作。然后重新生成該報紙的duerecord數據,表duerecord應該在每年初始統一生成。對于中途休刊的報紙,要在刪除表duere?cord的相應數據,以適應變化。對增刊,即號外的報紙,需要單獨新增一條record數據來與之對應。

6 結語

本系統通過試用和不斷地調試,現已投入使用。其簡潔、實用的功能使報紙記到工作簡單化,將圖書館管理員從繁雜的手工處理中解放出來,得到了相關人員的認可。同時報紙記到系統也實現了報紙信息的規范化、有序化管理,并對每年下架、裝訂、回溯等工作提供了有效的支持,對圖書館發展來說具有很強的現實意義。隨著圖書館工作的發展和進一步細化,報紙記到工作也會隨之發生變化,對產生的新的功能需求,本系統預留了很大的設計空間,以便于在今后實踐中不斷改進和完善。

參考文獻:

[1]王浩,謝昕,郭靜.論圖書館的報紙管理與功能拓展[J].中國報業,2012(7下):227-228.

[2]求是科技.ASP.NET數據庫管理系統開發實例導航[M].北京:人民郵電出版社,2005:1-5.

[3] Solid Quality Learning,王為.SQL Server 2005從入門到精通[M].北京:清華大學出版社,2006:1-3.

[4] web.config.百度百科[OL].[2014-06-24].http://baike.baidu. com/view/1365881.htm?fr=aladdin.

黃文碧男,1980年生。雙學士,館員,文獻建設部副主任。研究方向:信息管理。

收稿日期:(2014-10-15;責編:楊新寬。)

猜你喜歡
頁面數據庫圖書館
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
圖書館
小太陽畫報(2018年1期)2018-05-14 17:19:25
數據庫
財經(2017年2期)2017-03-10 14:35:35
飛躍圖書館
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
圖書館里的是是非非
去圖書館
主站蜘蛛池模板: 毛片久久久| 亚洲无线观看| 免费毛片视频| 欧美三级自拍| 五月天丁香婷婷综合久久| 亚洲欧美日韩动漫| 亚洲中文字幕无码爆乳| 熟妇无码人妻| 亚洲床戏一区| 丰满人妻一区二区三区视频| av在线无码浏览| 亚洲人成电影在线播放| 97久久人人超碰国产精品| 高清精品美女在线播放| 亚欧乱色视频网站大全| 国内精品视频| 成年网址网站在线观看| 国产一区二区网站| 老司国产精品视频91| 91丝袜乱伦| 好紧太爽了视频免费无码| 日韩视频免费| 久久亚洲精少妇毛片午夜无码| 亚洲欧洲AV一区二区三区| 久久www视频| 在线欧美a| 欧美三级日韩三级| 国产精品香蕉在线| 亚洲色图欧美视频| 亚洲精品成人片在线观看| 久久国产精品无码hdav| 91美女视频在线观看| 国产精品亚洲片在线va| 国产精品毛片一区视频播| 欧美有码在线| 91po国产在线精品免费观看| 99久久国产综合精品2023| 欧美午夜久久| 亚洲色图另类| 在线无码私拍| 国产成人高清亚洲一区久久| 毛片久久网站小视频| 色综合日本| 狠狠ⅴ日韩v欧美v天堂| 日韩无码黄色网站| AV不卡在线永久免费观看| 久久久久青草大香线综合精品| 久久婷婷综合色一区二区| 精品国产毛片| 国产69囗曝护士吞精在线视频| 国产色婷婷视频在线观看| 亚洲男人天堂久久| 国产成人精品在线| 国产精品原创不卡在线| 国产精品视频系列专区| 国产精品手机视频| 71pao成人国产永久免费视频| 欧美三级不卡在线观看视频| 国产乱人视频免费观看| 精品一区二区三区视频免费观看| 欧美日韩导航| 色呦呦手机在线精品| 国产欧美成人不卡视频| 2021国产精品自拍| 久久国产精品波多野结衣| 国产青青操| 久久这里只有精品66| 国产精品亚洲αv天堂无码| 无码高潮喷水在线观看| 久久亚洲美女精品国产精品| 亚洲日韩国产精品无码专区| 亚洲精品另类| 爆乳熟妇一区二区三区| 亚洲人成影院在线观看| 国产在线拍偷自揄观看视频网站| 欧美成人亚洲综合精品欧美激情 | 麻豆AV网站免费进入| 91原创视频在线| 成人综合网址| 国产激情无码一区二区免费| 青青草一区| 亚洲AV无码久久精品色欲|