• 
    

    
    

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

      視圖化圖書智能查詢系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

      2017-03-31 11:34:34程方豪廖斌
      軟件導(dǎo)刊 2016年8期

      程方豪+廖斌

      摘 要:設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)視圖化圖書智能查詢系統(tǒng),項(xiàng)目采用HTML、CSS和ASP.NET作為開發(fā)工具,系統(tǒng)智能搜索引擎具有輸入提示和模糊查詢功能,可按照書本名稱、作者、出版社進(jìn)行分類檢索,并以視圖化分頁形式呈現(xiàn)查詢結(jié)果。此外,系統(tǒng)也在查詢效率和圖書顯示樣式方面進(jìn)行了優(yōu)化和改進(jìn)。

      關(guān)鍵詞關(guān)鍵詞:圖書智能查詢;視圖化;分頁;模糊查詢;DataList

      DOIDOI:10.11907/rjdk.161557

      中圖分類號(hào):TP319

      文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2016)008-0127-03

      0 引言

      隨著網(wǎng)絡(luò)教育服務(wù)的發(fā)展與普及,在線圖書查詢系統(tǒng)日益受到圖書管理人員和廣大讀者的歡迎[1]。通過在線圖書查詢系統(tǒng),讀者可以預(yù)先對(duì)計(jì)劃借閱書籍的閱讀量、圖書內(nèi)容簡(jiǎn)介以及圖書存放位置等信息進(jìn)行查詢和了解,從而有效解決了書籍借閱情況不明、尋找書籍困難等問題。目前,各高校圖書查詢系統(tǒng)大多存在查詢效率低下、圖書信息顯示樣式不夠美觀等問題[2]。對(duì)此,本文設(shè)計(jì)并實(shí)現(xiàn)了具有分類搜索提示和模糊查詢功能的圖書搜索引擎,并以視圖化分頁形式對(duì)圖書信息的顯示進(jìn)行了美化。

      1 系統(tǒng)總體描述

      視圖化圖書智能查詢系統(tǒng)以ASP.NET作為開發(fā)工具,采用SQL 2008 R2數(shù)據(jù)庫作為開發(fā)平臺(tái),并以B/S模式為項(xiàng)目架構(gòu)。在瀏覽器端,用戶登錄驗(yàn)證后,系統(tǒng)會(huì)自動(dòng)識(shí)別登錄用戶身份,包括讀者和管理員兩種身份。讀者登錄后直接進(jìn)入圖書查詢界面,可按照書本名稱、作者、出版社進(jìn)行分類模糊查詢。在服務(wù)器端,服務(wù)器接收到用戶發(fā)出的查詢請(qǐng)求后,對(duì)后臺(tái)數(shù)據(jù)庫進(jìn)行查詢,并將所得的數(shù)據(jù)集發(fā)送給瀏覽器端;管理員登錄成功后會(huì)進(jìn)入到圖書管理界面,可對(duì)書籍信息進(jìn)行更新操作。服務(wù)器接收到管理員的更新請(qǐng)求后,對(duì)數(shù)據(jù)庫中的信息進(jìn)行更新。系統(tǒng)流程如圖1所示。

      2 系統(tǒng)功能設(shè)計(jì)與實(shí)現(xiàn)

      2.1 數(shù)據(jù)庫設(shè)計(jì)

      系統(tǒng)采用SQL 2008 R2設(shè)計(jì)后臺(tái)數(shù)據(jù)庫,針對(duì)用戶、書籍、書本類別等數(shù)據(jù)對(duì)象建立相應(yīng)表單如下:①用戶信息表AdminInfo:保存用戶的賬號(hào)、姓名、性別、年齡、電話、登錄密碼等基本信息,設(shè)置賬號(hào)為主鍵;②書籍基本信息表BookInfo:記錄圖書館現(xiàn)存書籍的編號(hào)、名稱、作者、出版社、類別編號(hào)、圖書簡(jiǎn)介、圖書圖片地址、查詢量、入庫時(shí)間、存放位置、作者介紹等信息,設(shè)置書籍編號(hào)為主鍵;③書籍類別表BookClass:保存書籍的類別編號(hào)、書籍類型信息,設(shè)置類別編號(hào)為主鍵。其中,系統(tǒng)核心數(shù)據(jù)表——書籍基本信息表如圖2所示。

      2.2 用戶界面設(shè)計(jì)

      系統(tǒng)的核心模塊為圖書查詢界面,采用DIV、CSS和ASP.NET控件的方法來構(gòu)造整個(gè)界面布局??傮w而言,頁面自上至下分為6個(gè)DIV區(qū)域,依次用于填充頁面頂部背景、搜索引擎、圖書類別標(biāo)簽組、圖書信息視圖、分頁控件和版權(quán)聲明。頁面頂部采用一張百花盛開、綠草油油的草原風(fēng)景圖作為背景,既能給人以清新自然的視覺效果,又可以和整個(gè)界面的綠色主題相協(xié)調(diào)。在搜索引擎區(qū)域,左邊為一個(gè)古書法體的“書”字,作為圖書查詢界面的logo;右邊上部為3個(gè)單選按鈕RadioButton,分別用于選擇搜索類別:書本名稱、作者、出版社,下部為并排放置的搜索框TextBox和查詢按鈕Button。在此需注意將搜索框的右邊距right-margin和查詢按鈕的左邊距l(xiāng)eft-margin均設(shè)置為0,以保證兩者能夠無縫連接。下面是圖書類別標(biāo)簽組,將書籍類別表BookClass中的類別名稱與區(qū)域中的超鏈接按鈕LinkButton一一對(duì)應(yīng),從而保證前后臺(tái)信息一致,同時(shí)還增加了4個(gè)LinkButton,以對(duì)查詢結(jié)果進(jìn)行排序,包括默認(rèn)排序、查詢量排序、出版社排序和出版時(shí)間排序。界面主體部分即為圖書信息顯示區(qū),此區(qū)域由若干個(gè)圖書信息視圖組成,每個(gè)圖書信息視圖實(shí)際上是一個(gè)自定義DataList控件,ASP.NET默認(rèn)的數(shù)據(jù)列表控件DataList只可用于顯示文本信息,且布局單一、缺乏靈活性和美觀效果;而自定義DataList控件可根據(jù)顯示需要調(diào)整布局,設(shè)置構(gòu)成元素類型,包括圖片、文本、超鏈接等,而不僅僅局限于文本[3]。對(duì)于讀書信息顯示視圖而言,將自定義DataList控件模版區(qū)設(shè)計(jì)為左邊為一個(gè)PictureBox控件,用于顯示圖書圖片,右邊從上到下依次為書本名稱標(biāo)簽、出版信息標(biāo)簽、點(diǎn)擊量標(biāo)簽、圖書簡(jiǎn)介文本區(qū)和查詢?cè)斍榘粹o。界面運(yùn)行時(shí),圖書信息視圖會(huì)自動(dòng)填充圖書信息顯示區(qū)。此外,由于圖書信息顯示區(qū)規(guī)格有限,而所需顯示的圖書信息視圖可能會(huì)溢出,因此需要使用分頁控件。系統(tǒng)采用AspNetPager作為分頁控件,該控件功能齊全,使用方便且自帶跳轉(zhuǎn)首頁、上頁、下頁、尾頁以及數(shù)字頁的功能,還可通過下拉框形式跳轉(zhuǎn)到指定頁碼。同時(shí),此分頁控件與CSS緊密結(jié)合,若要實(shí)現(xiàn)方塊頁碼顯示樣式,只需將該控件的PaingButtonLayoutType屬性設(shè)置為Span即可。另外,當(dāng)鼠標(biāo)經(jīng)過以及點(diǎn)擊分頁控件時(shí)也會(huì)有不同的顯示效果。最后是網(wǎng)頁底部的版權(quán)聲明,書寫格式應(yīng)為:Copyright [dates] by [author/owner]All Rights Reserved[4]。

      2.3 業(yè)務(wù)邏輯實(shí)現(xiàn)

      系統(tǒng)業(yè)務(wù)邏輯的核心為讀者的查詢流程。讀者用戶登錄驗(yàn)證后即進(jìn)入圖書查詢界面。對(duì)一般查詢界面而言,為了保證系統(tǒng)的實(shí)用性和較好的用戶體驗(yàn),首先應(yīng)具備強(qiáng)大的搜索引擎,它能夠幫助用戶快速、準(zhǔn)確、全面地查詢想了解的信息,同時(shí)又能夠以美觀大方、簡(jiǎn)潔明了的形式將數(shù)據(jù)信息呈現(xiàn)出來。對(duì)此,系統(tǒng)開發(fā)的重點(diǎn)便集中在搜索引擎優(yōu)化和以分頁形式顯示視圖化圖書信息兩方面。系統(tǒng)實(shí)現(xiàn)了按照書本名稱、作者、出版社3種形式進(jìn)行分類搜索;具有搜索提示功能,即用戶在輸入框每輸入一個(gè)漢字或字母,搜索框下方會(huì)立刻彈出一個(gè)懸浮框,顯示庫存中書名含有輸入漢字或字母的所有書籍,用戶點(diǎn)擊懸浮框中的某條記錄,界面會(huì)將該書籍以視圖形式顯示在圖書信息顯示區(qū)中;可以進(jìn)行模糊查詢,例如用戶輸入“計(jì)算機(jī)”,圖書信息顯示區(qū)中會(huì)將書名中含有“計(jì)算機(jī)”的所有書籍以分頁視圖化形式顯示出來,方便讀者進(jìn)一步確認(rèn)或比較。此外,為方便用戶選書,圖書查詢界面還可按照書籍類型進(jìn)行過濾和按照點(diǎn)擊量、出版時(shí)間等進(jìn)行排序。下面將針對(duì)以上主要功能介紹相應(yīng)的實(shí)現(xiàn)方法。

      首先對(duì)于圖書搜索引擎,在實(shí)現(xiàn)分類搜索功能方面,定義了一個(gè)SQL查詢字符串query_book,并將其初始值設(shè)置為“Select * From bookInfo where book_ID is not null“,即在初始狀態(tài)下為遍歷數(shù)據(jù)庫所有書籍記錄。之后在查詢按鈕的點(diǎn)擊事件中,對(duì)搜索框上部的書本名稱、作者、出版社3個(gè)單選按鈕的Checked屬性值進(jìn)行判斷,例如若書本名稱單選按鈕rbt_bname的Checked值為true,則說明搜索框中輸入的信息為書本名稱,那么SQL查詢字符串應(yīng)按照書本名稱字段b_name進(jìn)行篩選,從而得到按照書本名稱查詢的結(jié)果。同時(shí),在SQL語句中書本名稱字段值的前后各加一個(gè)“%”即可實(shí)現(xiàn)模糊查詢效果,“%”表示無、一個(gè)或多個(gè)字符。如SQL語句“%計(jì)算機(jī)%”,可包含“計(jì)算機(jī)應(yīng)用”、“微型計(jì)算機(jī)研究”及“計(jì)算機(jī)”等字符串,數(shù)據(jù)庫則會(huì)將它包含的所有信息返回到結(jié)果集中。代碼示例如下:

      //以按照書名進(jìn)行模糊查詢?yōu)槔?/p>

      if (rbt_bname.Checked == true)

      {

      //判斷搜索框是否有信息輸入

      if (!txt_query.Text.Trim().Equals(String.Empty))

      //SQL模糊查詢語句

      query_book = query_book+"Select * and b_name like '%" + txt_query.Text.Trim() + "%' ";

      else

      query_book = "Select * From bookInfo where book_ID is not null";

      //根據(jù)SQL查詢字符串遍歷數(shù)據(jù)庫,并將結(jié)果保存到數(shù)據(jù)集中

      SqlDataAdapter sda = new SqlDataAdapter(query_book, conn);

      DataSet ds = new DataSet();

      sda.Fill(ds, "bookInfo");

      //將數(shù)據(jù)集信息同用于顯示書籍信息的DataList進(jìn)行綁定,以視圖形式顯示

      DataList1.DataSource = ds.Tables["bookInfo"].DefaultView;

      DataList1.DataBind();

      }

      下面要實(shí)現(xiàn)搜索提示功能,需引入ASP的AutoCompleteExtender控件,將此控件的TargetControlID屬性設(shè)置為搜索框名稱txt_query,從而實(shí)現(xiàn)對(duì)搜索框文本變化的監(jiān)聽。之后,需在Web服務(wù)中定義監(jiān)聽響應(yīng)事件GetBookList(string inputText),即根據(jù)搜索類型,將文本中輸入的信息inputText添加到SQL查詢條件中,進(jìn)而對(duì)數(shù)據(jù)庫進(jìn)行遍歷,并將查詢結(jié)果數(shù)據(jù)集的相關(guān)字段保存在字符串?dāng)?shù)組中。AutoCompleteExtender控件則根據(jù)獲取到的字符串?dāng)?shù)組,自動(dòng)在搜索框下方彈出一個(gè)分條顯示搜索提示信息的懸浮窗。系統(tǒng)搜索引擎查詢效果如圖3所示。

      在視圖化圖書信息顯示方面,需使用DataList的模版編輯功能進(jìn)行視圖樣式的個(gè)性化定制。進(jìn)入模版編輯界面后,首先按照上文用戶界面設(shè)計(jì)所述的布局拖放相應(yīng)控件,將每個(gè)控件與數(shù)據(jù)庫的相應(yīng)字段綁定,以實(shí)現(xiàn)DataList模版與后臺(tái)數(shù)據(jù)源的連接。用戶點(diǎn)擊查詢按鈕后,系統(tǒng)會(huì)按照搜索框的內(nèi)容對(duì)Datalist的數(shù)據(jù)源進(jìn)行過濾,并將每個(gè)符合要求的圖書信息記錄實(shí)例化為一個(gè)Datalist視圖,填充在界面的圖書信息顯示區(qū)中。另一方面,為對(duì)這些DataList視圖進(jìn)行分頁控制,需使用AspNetPager控件,且分頁事件需包含于查詢按鈕的點(diǎn)擊事件中。每次觸發(fā)查詢點(diǎn)擊事件,都要先將查詢結(jié)果集的記錄個(gè)數(shù)賦值給AspNetPager的RecordCount屬性,以確定所需顯示的DataList視圖總數(shù);AspNetPager對(duì)象會(huì)自動(dòng)除以其頁面大小屬性PageSize得到分頁總數(shù),之后還要將分頁控件當(dāng)前頁碼屬性CurrentPageIndex的值設(shè)置為0,即默認(rèn)首先顯示第一頁。最后將分頁控件數(shù)據(jù)源PagedDataSource對(duì)象同自定義DataList的數(shù)據(jù)源DataSource進(jìn)行綁定,即實(shí)現(xiàn)了分頁控制效果,如圖4所示。

      最后,其實(shí)書籍類別功能和查詢排序的實(shí)現(xiàn)方法在本質(zhì)上是一樣的。兩者都是在遍歷書籍信息表的基本SQL語句上添加過濾條件,從而對(duì)圖書顯示內(nèi)容進(jìn)行整理和歸類。一方面,根據(jù)選擇的書籍類別,如軍事類,則選擇書籍

      表中所有類別字段為軍事類的記錄即可;另一方面,通過SQL的ORDER BY語句可實(shí)現(xiàn)對(duì)書籍的排序。其中需要注意的是,在對(duì)出版時(shí)間進(jìn)行排序時(shí),需通過定義標(biāo)志字來實(shí)現(xiàn)對(duì)升序和降序功能的控制。

      3 項(xiàng)目成果與分析

      綜合以上步驟,以360安全瀏覽器作為界面顯示平臺(tái)完成了項(xiàng)目的開發(fā)和測(cè)試。同參考文獻(xiàn)示例[5]等所述的其它圖書查詢系統(tǒng)相比,本系統(tǒng)的搜索引擎具有搜索提示、分類查詢以及模糊搜索功能,方便用戶快速準(zhǔn)確地查詢所需書籍。同時(shí)利用ASP.NET自定義數(shù)據(jù)列表實(shí)現(xiàn)對(duì)書籍信息的視圖化顯示,對(duì)布局規(guī)劃和顯示樣式作了進(jìn)一步規(guī)整和美化,并實(shí)現(xiàn)了分頁管理效果。

      4 結(jié)語

      視圖化圖書智能查詢系統(tǒng)分別采用HTML、CSS和ASP.NET進(jìn)行界面的布局規(guī)劃、樣式調(diào)整以及業(yè)務(wù)邏輯設(shè)計(jì),并以SQL 2008 R2為數(shù)據(jù)平臺(tái),在360安全瀏覽器上對(duì)系統(tǒng)顯示效果與信息查詢的實(shí)時(shí)性和準(zhǔn)確性進(jìn)行了驗(yàn)證。由于本階段系統(tǒng)僅實(shí)現(xiàn)了對(duì)圖書簡(jiǎn)介的預(yù)覽功能,且查詢的書籍均為圖書館中的紙質(zhì)版書籍,尚欠缺圖書在線試讀和電子圖書查詢功能,這將是下一階段研究和開發(fā)的重點(diǎn)。

      參考文獻(xiàn):

      [1] 胡俊松.新時(shí)期圖書館信息化管理探究[J].軟件導(dǎo)刊,2014,13(7):11-12.

      [2] 胡慧晶.中山市三鄉(xiāng)理工學(xué)校圖書館管理信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[M].北京:電子科技大學(xué)出版社,2014.

      [3] 吳志祥.高級(jí)Web程序設(shè)計(jì)[M].北京:科學(xué)出版社,2013.

      [4] 李原.網(wǎng)頁版權(quán)研究[M].長(zhǎng)沙:湖南大學(xué)出版社,2007.

      [5] 李霞,張鵬.用ASP技術(shù)實(shí)現(xiàn)在線圖書查詢系統(tǒng)[J].陰山學(xué)刊,2003(2):46-47.

      (責(zé)任編輯:黃 健)

      黑龙江省| 夏邑县| 儋州市| 来凤县| 包头市| 马鞍山市| 丰顺县| 新余市| 海门市| 贡觉县| 南乐县| 七台河市| 唐海县| 新晃| 阿拉善左旗| 武汉市| 阿瓦提县| 西宁市| 江城| 新乐市| 肥东县| 蓝田县| 应城市| 呼图壁县| 汕头市| 太康县| 怀远县| 新乡市| 洛川县| 什邡市| 铜陵市| 静海县| 化隆| 历史| 通榆县| 江永县| 太康县| 松桃| 阿坝| 施甸县| 太仆寺旗|