版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
PAGE論計算機在圖書館的應用【關(guān)鍵字】圖書、計算機、應用、圖書管理、程序設(shè)計、visualBasic、mvc、設(shè)計模式?!菊繄D書管理系統(tǒng)是現(xiàn)代圖書館不可缺少的組成部分,是典型的信息管理系統(tǒng),它的開發(fā)主要包括數(shù)據(jù)庫的開發(fā)和前端應用程序開發(fā)兩個方面。對于數(shù)據(jù)庫要求建立數(shù)據(jù)一致性和完整性強、數(shù)據(jù)安全性好的庫。對于應用程序不僅要功能完備,而且要易于使用。因此本人結(jié)合圖書館的要求,使用vb語言,采用Access數(shù)據(jù)庫,開發(fā)了一個功能完備,可移植性強的C/S系統(tǒng)??捎糜诟咝#约捌笫聵I(yè)單位的圖書館和資料室的現(xiàn)代化綜合管理。【Keyword】book、computer、application、library、program、visualBasic、mvc、Designparttern?!続bstract】Librarymanagementsystemisindispensabletothemodernlibrarycomponentisatypicalinformationmanagementsystem,whichincludesthedevelopmentoffront-enddatabasedevelopmentandapplicationdevelopmentaspects.Thedatabaserequirestheestablishmentofstrongdataintegrityandconsistencyofdatawithgoodsecurity.Forapplicationsnotonlyfunctional,butalsoeasytouse.Socombinetherequirementsoflibraries,usingvblanguage,usingAccessdatabase,developedafullyfunctional,portableandstrongC/Ssystem.Canbeusedinuniversities,andenterprisesoftheLibraryandInformationManagementofamodernintegrated.目錄緒論····························································5前言···························································5研究背景·······················································5系統(tǒng)概述及工具介紹··············································6系統(tǒng)概述·······················································6數(shù)據(jù)庫技術(shù)·····················································6visualBasic·····················································6控件介紹·······················································7ADO.net技術(shù)···················································8需求分析·······················································10需求分析······················································10系統(tǒng)框架圖····················································10系統(tǒng)設(shè)計數(shù)據(jù)庫設(shè)計····················································11程序設(shè)計······················································13登錄模塊··············································13系統(tǒng)主界面············································15圖書管理··············································17讀者管理··············································20借閱管理··············································22系統(tǒng)管理··············································25使用說明·························································28結(jié)束語參考文獻·······················································28第一章緒論【前言】進入21世紀,數(shù)字化、網(wǎng)絡(luò)化的信息革命從根本上推動了圖書館的發(fā)展進程,計算機日益成為圖書館的主要設(shè)備,圖書館采用了各種自動化集成系統(tǒng)建立自己的內(nèi)部網(wǎng)絡(luò)環(huán)境,呈現(xiàn)出網(wǎng)絡(luò)化、信息化、智能化和社會化的特征?,F(xiàn)代信息技術(shù)是影響圖書館發(fā)展最深刻的環(huán)境因素。高密度的信息儲存技術(shù),高速度的信息傳遞技術(shù),高效率、高質(zhì)量的信息查詢技術(shù),在變革了人們生產(chǎn)、收集、組織、傳遞和使用知識信息的方式的同時,也使信息服務(wù)的機制、結(jié)構(gòu)以及服務(wù)手段發(fā)生了巨大的變化。如何將一些先進的信息技術(shù)結(jié)合運用到圖書館的管理和服務(wù)中,用這些技術(shù)來促進日常工作,改變圖書館的傳統(tǒng)模式,致力于營造以知識導航為服務(wù)觀念的發(fā)展環(huán)境,將成為現(xiàn)代圖書館的工作重點。【開發(fā)背景】隨著社會的發(fā)展,人們對知識的需求也不斷地增長。在這種形勢下,書就漸漸地成為人們獲取并增長知識的主要途徑,而圖書館就自然而然地在人們的生活中占據(jù)了一定的位置,如何科學地管理圖書館不但關(guān)系到讀者求知的方便程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書館管理系統(tǒng)就成不可少了,圖書館在正常運營中總是面對大量的讀者信息、書籍信息以及兩者相互作用產(chǎn)生的借書信息、還書信息。因此需要對讀者資源、書籍資源、借書信息、還書信息進行管理,及時了解各個環(huán)節(jié)中信息的變更,有利于提高管理效率。隨著社會的日益發(fā)展,尤其是科技的迅猛發(fā)展,使得我國各項事業(yè)得到了前所未有的突破,不僅提高了工作效率,而且也降低了勞動強度,美化了工作環(huán)境。隨著計算機廣泛地應用在科學技術(shù)領(lǐng)域的各個方面,并逐漸進入家庭,成為人們生活中必不可少的一部分。為了適應讀者對圖書的需求,同時又大大減輕圖書館工作人員的工作量,全面提高圖書館的管理效率及服務(wù)質(zhì)量,我以VisualBasic為環(huán)境,開發(fā)了此應用軟件,本系統(tǒng)適用于各類小型圖書館,以及各類大中專院校、中小學校、企事業(yè)單位的圖書館和資料室的現(xiàn)代化綜合管理系統(tǒng)概述及工具介紹【系統(tǒng)概述】這是一個小型的圖書管理系統(tǒng),提供了圖書館工作人員日程可能遇到的各種操作。如:圖書管理、讀者管理管理、圖書借閱管理、系統(tǒng)管理等?!緮?shù)據(jù)庫技術(shù)】 數(shù)據(jù)庫引擎是用于存儲、處理和保護數(shù)據(jù)的核心服務(wù)。數(shù)據(jù)庫引擎提供了受控訪問和快速事務(wù)處理,以滿足企業(yè)內(nèi)最苛刻的數(shù)據(jù)消費應用程序的要求。數(shù)據(jù)庫引擎還提供了大量的支持以保持高可用性。Access是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,即RelationalDatabaseManagementSystem),是Office系列應用軟件之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數(shù)據(jù)庫系統(tǒng)的對象;提供了多種向?qū)А⑸善?、模板,把?shù)據(jù)存儲、數(shù)據(jù)查詢、界面設(shè)計、報表生成等操作規(guī)范化;為建立功能完善的數(shù)據(jù)庫管理系統(tǒng)提供了方便,也使得普通用戶不必編寫代碼,就可以完成大部分數(shù)據(jù)管理的任務(wù)。其主要優(yōu)點如下:(1)完善地管理各種數(shù)據(jù)庫對象,具有強大的數(shù)據(jù)組織、用戶管理、安全檢查等功能。(2)強大的數(shù)據(jù)處理功能,在一個工作組級別的網(wǎng)絡(luò)環(huán)境中,使用Access開發(fā)的多用戶數(shù)據(jù)庫管理系統(tǒng)具有傳統(tǒng)的XBASE(DBASE、FoxBASE的統(tǒng)稱)數(shù)據(jù)庫系統(tǒng)所無法實現(xiàn)的客戶服務(wù)器(Cient/Server)結(jié)構(gòu)和相應的數(shù)據(jù)庫安全機制,Access具備了許多先進的大型數(shù)據(jù)庫管理系統(tǒng)所具備的特征,如事務(wù)處理/出錯回滾能力等。(3)可以方便地生成各種數(shù)據(jù)對象,利用存儲的數(shù)據(jù)建立窗體和報表,可視性好。(4)作為Office套件的一部分,可以與Office集成,實現(xiàn)無縫連接。(5)能夠利用Web檢索和發(fā)布數(shù)據(jù),實現(xiàn)與Internet的連接。Access主要適用于中小型應用系統(tǒng),或作為客戶機/服務(wù)器系統(tǒng)中的客戶端數(shù)據(jù)庫。其缺點:ACCESS是小型數(shù)據(jù)庫,既然是小型就有他根本的局限性,以下幾種情況下數(shù)據(jù)庫基本上會吃不消:1.數(shù)據(jù)庫過大,一般ACCESS數(shù)據(jù)庫達到50M左右的時候性能會急劇下降.2.網(wǎng)站訪問頻繁,經(jīng)常達到100人左右的在線。3.記錄數(shù)過多,一般記錄數(shù)達到10萬條左右的時候性能就會急劇下降.【VisualBasic】 MicrosoftVisualStudio6.0:這是微軟公司提供的一款集成IDE開發(fā)工具,主要使用對象為.net程序員,即使用.net框架下的語言進行開發(fā)的程序員。該工具為c/s架構(gòu)下的GUI開發(fā)和B/S架構(gòu)下的網(wǎng)站開發(fā)都提供了強大的工具支持,如工程建立、代碼聯(lián)想、代碼著色、控件化開發(fā)、調(diào)試、測試等。而且該工具不只適合與vb程序員,C++、vf等程序員也可以使用該工具提供的功能。工具的最新版本是vs2010,增加了對C#程序員、基于ajax的網(wǎng)站開發(fā)、linq、silverlight富客戶端開發(fā)等的支持。功能更加強大。VB訪問數(shù)據(jù)庫的方法很多,一般情況下分成兩大類,而每一類又有很多方法。數(shù)據(jù)訪問接口功能及含義:(1)ADC:高級數(shù)據(jù)連接器(AdvancedDataConnector):提供綁定ADO數(shù)據(jù)源到窗體的數(shù)據(jù)綁定控件上。ADC主要是一種直接訪問或者通過ADO訪問遠程OLEDB對象的一種技術(shù),它也支持主要應用在微軟IE瀏覽器上的數(shù)據(jù)綁定控件。它是特地為Web上的瀏覽器為基礎(chǔ)的應用程序而設(shè)計的。(2)ADO:Active數(shù)據(jù)對象(ActiveDataObjects):ADO實際是一種提供訪問各種數(shù)據(jù)類型的連接機制。ADO設(shè)計為一種極簡單的格式,通過ODBC的方法同數(shù)據(jù)庫接口。可以使用任何一種ODBC數(shù)據(jù)源,即不止適合于SQLServer、Oracle、Access等數(shù)據(jù)庫應用程序,也適合于Excel表格、文本文件、圖形文件和無格式的數(shù)據(jù)文件。ADO是基于OLE-DB之上的技術(shù),因此ADO通過其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問接口方法。(3)DAO:數(shù)據(jù)訪問對象(DataAccessObjects):是一種面向?qū)ο蟮慕缑娼涌?。通過DAO/Jet功能可以訪問ISAM數(shù)據(jù)庫,使用DAO/ODBCDirect功能可以實現(xiàn)遠程RDO功能。使用DAO的程序編碼非常簡單,DAO提供豐富的游標(Cursor)類型的結(jié)果集和非游標(Cursor-Less)類型的結(jié)果集,同DDL(數(shù)據(jù)描述語言)的功能很類似。(4)DAO模型是設(shè)計關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的對象類的集合。它們提供了完成管理這樣一個系統(tǒng)所需的全部操作的屬性和方法,包括創(chuàng)建數(shù)據(jù)庫,定義表、字段和索引,建立表間的關(guān)系,定位和查詢數(shù)據(jù)庫等工具。(5)JET:數(shù)據(jù)連接性引擎技術(shù)(JointEngineTechnology):是一種基于工作站通過DAO的數(shù)據(jù)庫訪問機制。雖然可以通過微軟Access提供的ODBC驅(qū)動程序訪問Jet數(shù)據(jù)庫,但使用這些驅(qū)動程序在功能上有所限制。Jet機制有自己的查詢和結(jié)果集處理功能,并可對同種或異種數(shù)據(jù)源作查詢處理。(6)ODBC:開放式的數(shù)據(jù)庫連接(OpenDatabaseConnectivity):是一種公認的關(guān)系數(shù)據(jù)源的接口界面。它快而輕并且提供統(tǒng)一接口的界面,ODBC對任何數(shù)據(jù)源都未作優(yōu)化。(7)ODBCDirect:是一種基于DAO對象的新的DAO模式,其方法和屬性與RDO功能相同。使用在有DAO代碼存在的場合,可用來訪問遠程數(shù)據(jù)源。(8)OLEDB:是一種底層數(shù)據(jù)訪問界面接口。是用于第三方驅(qū)動程序商家開發(fā)輸出數(shù)據(jù)源到ADO技術(shù)的應用程序或用于C++的開發(fā)者開發(fā)定制的數(shù)據(jù)庫組件。OLEDB不能被VB直接調(diào)用。(9)RDC:遠程數(shù)據(jù)訪問控件(RemoteDataControl):是一種對RDO數(shù)據(jù)綁定的控件??梢暂敵鎏囟ǖ慕Y(jié)果集到數(shù)據(jù)源控件。(10)RDO:遠程數(shù)據(jù)對象(RemoteDataObjects):遠程數(shù)據(jù)對象和集合為使用代碼來創(chuàng)建和操作一個遠程ODBC數(shù)據(jù)庫系統(tǒng)的各個部件提供了一個框架。對象和集合都具有描述數(shù)據(jù)庫的各個部件特征的屬性以及用來操作這些部件的方法??梢栽趯ο蠛图现g建立起關(guān)系,這些關(guān)系就代表了數(shù)據(jù)庫系統(tǒng)的邏輯結(jié)構(gòu)。RDO是ODBCAPI的一個淺層界面接口。是專為訪問遠程ODBC關(guān)系數(shù)據(jù)源而設(shè)計的。(11)VBSQL:是VisualBasic結(jié)構(gòu)化查詢語言。是一種基于API的接口方法,幾乎與C的DB-LibraryAPI相同。VBSQL只支持微軟的SQLServer。VBSQL快而且輕但不支持對象界面?!究丶榻B】VisualBasic的控件有三種廣義分類:
1.內(nèi)部控件,例如CommandButton和Frame控件。這些控件都在VisualBasic的.exe文件中。內(nèi)部控件總是出現(xiàn)在工具箱中,不象ActiveX控件和可插入對象那樣可以添加到工具箱中,或從工具箱中刪除。
2.ActiveX控件,是擴展名為.ocx的獨立文件,其中包括各種版本VisualBasic提供的控件(DataCombo,DataList控件等等)和僅在專業(yè)版和企業(yè)版中提供的控件(例如Listview、Toolbar、Animation和TabbedDialog),另外還有許多第三方提供的ActiveX控件。
注意具有文件擴展名.vbx的控件使用了老的技術(shù),在VisualBasic的早期版本編寫的應用程序中可以找到這些控件。當VisualBasic打開包含.vbx控件的工程時,在缺省情況下用.ocx控件取代.vbx控件,當然,這只有在控件的.ocx版本存在時才可以。關(guān)于將控件更新為.ocx格式的信息。
3.可插入的對象,例如一個包含公司所有雇員的列表的MicrosoftExcel工作表對象,或者一個包含某工程計劃信息的MicrosoftProject日歷對象。因為這些對象能添加到工具箱中,所以可把它們當作控件使用。其中一些對象還支持自動化(正式的名稱為OLE自動化),使用這種控件就可在VisualBasic應用程序中編程控制另一個應用程序的對象。下面是一些常用控件的介紹:(1)Windows窗體:Windows窗體控件是可重用的組件,它們封裝了用戶界面功能,可以在基于Windows的客戶端應用程序中使用?!癢indows窗體”不僅提供了許多現(xiàn)成控件,還提供了自行開發(fā)控件的基礎(chǔ)結(jié)構(gòu)。可以組合現(xiàn)有控件、擴展現(xiàn)有控件或創(chuàng)作自己的自定義控件。(2)DataGrid控件:Windows窗體DataGrid控件可為ADO.NET數(shù)據(jù)集提供用戶界面,以顯示表格數(shù)據(jù)并允許對數(shù)據(jù)源進行更新。當DataGrid控件設(shè)置為有效的數(shù)據(jù)源時,該控件將被自動填充,同時根據(jù)數(shù)據(jù)的形狀創(chuàng)建列和行。DataGrid控件可以用于顯示單個表或顯示一組表之間的分層關(guān)系。(3)DataGridVIew控件:新版的.net框架中,該控件替換了DataGrid,DataGridView控件提供一種強大而靈活的以表格形式顯示數(shù)據(jù)的方式。可以使用DataGridView控件來顯示少量數(shù)據(jù)的只讀視圖,也可以對其進行縮放以顯示特大數(shù)據(jù)集的可編輯視圖??梢杂煤芏喾绞綌U展DataGridView控件,以便將自定義行為內(nèi)置在應用程序中。例如,可以采用編程方式指定自己的排序算法,以及創(chuàng)建自己的單元格類型。通過選擇一些屬性,可以輕松地自定義DataGridView控件的外觀。可以將許多類型的數(shù)據(jù)存儲區(qū)用作數(shù)據(jù)源,也可以在沒有綁定數(shù)據(jù)源的情況下操作DataGridView控件。(4)ListView控件:Windows窗體ListView控件顯示了帶圖標的項的列表。可使用列表視圖創(chuàng)建類似于Windows資源管理器右窗格的用戶界面。該控件具有四種視圖模式:“LargeIcon”、“SmallIcon”、“List”和“Details”。ListView控件的主要屬性是Items,該屬性包含該控件顯示的項。SelectedItems屬性包含控件中當前選定項的集合。如果將MultiSelect屬性設(shè)置為true,則用戶可選擇多項,例如,同時將若干項拖放到另一個控件中。如果將CheckBoxes屬性設(shè)置為true,ListView控件可以顯示這些項旁的復選框。Activation屬性可以確定用戶激活列表中的某項時必須執(zhí)行的操作類型:選項有Standard、OneClick和TwoClick。執(zhí)行OneClick激活時,需要通過一次單擊激活該項。執(zhí)行TwoClick激活時,要求用戶通過雙擊激活該項;一次單擊可以更改該項的文本顏色。執(zhí)行Standard激活時,要求用戶通過雙擊激活某項,但是該項的外觀不會發(fā)生更改。(5)imageList控件: 在VisualBasic6.0中,Picture、DownPicture和DisabledPicture屬性用于根據(jù)CheckBox、CommandButton或OptionButton控件的狀態(tài)顯示不同的圖片。例如,如果選中CheckBox控件,則顯示DownPicture圖像;如果禁用該控件,則顯示DisabledPicture圖像。在VisualBasic2005中,使用ImageList控件可以獲得同樣的效果,例如:在運行時顯示DisabledPicture圖像IfCheckBox1.Enabled=FalseThen'Assignthethirdimage(DisabledPicture)totheImageproperty.CheckBox1.Image=ImageList1.Images(2)ElseIfCheckBox1.Checked=TrueThen'Assignthesecondimage(DownPicture)totheImagepropertyCheckBox1.Image=ImageList1.Images(1)Else'Assignthefirstimage(Picture)totheImagepropertyCheckBox1.Image=ImageList1.Images(0)EndIf(6)Frame控件:Frame(框架)控件可以用來對其他控件進行分組,以便于用戶識別。使用框架控件可以將一個窗體中的各種功能進一步進行分類,例如,將各種選項按鈕控件分隔開。在大多數(shù)的情況下,框架控件的用法是比較“消極的”,我們用它對控件進行分組,但是通常沒有必要響應它的事件。不過,它的Name、Caption和Font屬性是經(jīng)常被修改的。以上介紹的控件在本應用中都進行了使用。(7)Timer控件控件:通過引發(fā)Timer事件,Timer控件可以有規(guī)律地隔一段時間執(zhí)行一次代碼。Timer控件的Enabled屬性決定該控件是否對時間的推移做響應。將Enabled設(shè)置為False會關(guān)閉Timer控件,設(shè)置為True則打開它。當Timer控件置為有效時,倒計時總是從其Interval屬性的設(shè)置值開始。例如下面代碼用戶定時改變窗體背景的顏色:PrivateSubForm_Load()Timer1.Interval=900'設(shè)置時間間隔。HScroll1.Min=100'設(shè)置最小值。HScroll1.Max=900'設(shè)置最大值。EndSubPrivateSubHScroll1_Change()'根據(jù)滾動條的數(shù)值設(shè)置時間間隔。Timer1.Interval=1000-HScroll1.ValueEndSubPrivateSubTimer1_Timer()'在紅色和藍色之間切換背景色。IfPicture1.BackColor=RGB(255,0,0)ThenPicture1.BackColor=RGB(0,0,255)ElsePicture1.BackColor=RGB(255,0,0)EndIfEndSub(8)DateTimePicker控件:DateTimePicker控件使您可以提供格式化的日期字段,使得進行日期選擇很容易。另外,用戶還可以從類似于MonthView控件的下拉式日歷界面中選擇日期。DateTimePicker控件,有兩種操作模式:1.下拉式日歷模式(缺?。涸试S用戶顯示一種能夠用來選擇日期的下拉式日歷。2.時間格式模式:允許用戶在日期顯示中選擇一個字段(例如:月、日、年等等),按下控件右邊的上下箭頭來設(shè)置它的值??梢宰远x控件的下拉式日歷的外觀。使用各種顏色屬性,例如CalendarBackColor、CalendarForeColor、CalendarTitleBackColor、CalendarTitleForeColor和CalendarTrailingForeColor,允許創(chuàng)建屬于您自己的顏色方案。DateTimePicker控件是ActiveX控件組的一部分,包含在MSCOMCT2.OCX文件中。要在應用程序中使用DateTimePicker控件,必須將MSCOMCT2.OCX文件加入到工程之中。(9)ListBox控件:ListBox(列表框)也是日常經(jīng)常使用和遇到的組件,在VisualBasic.Net中使用的ListBox其實是從.NetFrameWorkSDK中的ListBox類經(jīng)過實例化產(chǎn)生的。.NetFrameWorkSDK中的ListBox類所創(chuàng)建的ListBox是最典型的,要想使自己的ListBox與眾不同就必須編寫相應的代碼,好在.NetFrameWorkSDK中的ListBox類為實現(xiàn)個性化的ListBox提供豐富的、可操作“工具”,這些“工具”就是繪制ListBox的所需要的事件、相關(guān)的屬性以及豐富的繪制方法。在本文中將介紹在ListBox中各個元素的繪制方法,其中包括繪制各種字體、顏色以及在各項上加上邊框和為各項加入圖片等。在下面這個例子中用從windows資源管理器拖來的文件來操作ListBox控件。向窗體中添加一個VB.NETListBox控件,并設(shè)置其AllowDrop屬性為True,并添加如下代碼:Private
Sub
ListBox1_DragEnter(ByVal
sender
As
Object,
ByVal
e
As
_
System.Windows.Forms.DragEventArgs)
Handles
ListBox1.DragEnter
If
e.Data.GetDataPresent(DataFormats.FileDrop)
Then
e.Effect
=
DragDropEffects.All
End
If
End
Sub
Private
Sub
ListBox1_DragDrop(ByVal
sender
As
Object,
ByVal
e
As
_
System.Windows.Forms.DragEventArgs)
Handles
ListBox1.DragDrop
If
e.Data.GetDataPresent(DataFormats.FileDrop)
Then
Dim
MyFiles()
As
String
Dim
i
As
Integer
'
Assign
the
files
to
an
array.
MyFiles
=
e.Data.GetData(DataFormats.FileDrop)
'
Loop
through
the
array
and
add
the
files
to
the
list.
For
i
=
0
To
MyFiles.Length
-
1
ListBox1.Items.Add(MyFiles(i))
Next
End
If
End
Sub
以上控件在系統(tǒng)中已經(jīng)部分使用到?!続DO.net技術(shù)】ADO.NET是Microsoft為解決Web和分布式應用程序問題而設(shè)計的。作為一種數(shù)據(jù)庫訪問框架,ADO.NET能處理當今N層的Web應用程序所要求的非連接數(shù)據(jù)體系結(jié)構(gòu),因而在訪問SQLSERVER數(shù)據(jù)庫時,性能優(yōu)越,得到了廣泛應用。ADO.NET對象可大體分成兩大類:一類是與數(shù)據(jù)庫直接連接的聯(lián)機對象(稱為.NETDataProvider),其中包含了Command對象、DataReader對象以及DataAdapter對象等,通過這些類對象,可以在應用程序里完成連接數(shù)據(jù)源以及數(shù)據(jù)維護等相關(guān)操作。另一類則是與數(shù)據(jù)源無關(guān)的斷線對象,例如,DataSet對象,以及DataRelation對象等。其中的DataSet對象是ADO.NET的核心對象。可以把DataSet想成內(nèi)存中的數(shù)據(jù)庫,它就象是離線的數(shù)據(jù)一樣。正是由于DataSet,才使得程序員在編寫程序時可以屏蔽數(shù)據(jù)庫之間的差異獲得一致的編程模型。它提供了一致的程序設(shè)計模型,而不管其來自何處。DataSet由一組表、列、行、約束和關(guān)系組成。這個用于DataSet的對象模型如下所示:ADO.NET的設(shè)計原理意于提供分布式應用程序一種合適的解決方案,用戶可以利用連接對象取得數(shù)據(jù)源里所需的原始數(shù)據(jù),并且利用斷線對象,一次返回給前端用戶,前端用戶在處理變動數(shù)據(jù)的過程中,并不需要保持與數(shù)據(jù)庫的連接,當對所有數(shù)據(jù)完成變動操作之后,則再一次通過連接對象將數(shù)據(jù)返回更新到數(shù)據(jù)庫,因為不需要時時保持與數(shù)據(jù)庫的連接,所以能夠大大的降低所消耗的系統(tǒng)資源。ADO.NET在.NET中為存取任何類型的數(shù)據(jù)提供了一個統(tǒng)一的框架,它適用于WinForms應用程序、ASP.NET應用程序和WebServers。例如下面的一個應用:讀取數(shù)據(jù)庫連接信息:DimstrTmpAsString,strT()AsStringOpenApp.Path&"\sql.inf"ForInputAs#1IfEOF(1)=FalseThenLineInput#1,strTmpClose#1strTmp=Trim(strTmp)IfstrTmp<>""ThenstrT=Split(strTmp,"||")Fori=0To3strT(i)=strT(i)Nextstrserver=strT(0)struser=strT(1)strpwd=strT(2)strdb=strT(3)EndIf執(zhí)行一個查詢操作:DimsqlAsStringDimrsAsNewADODB.Recordsetsql="select*frommaintainwheremtnnum='"&Trim(Me.Combo2.Text)&"'"rs.Opensql,cnIfrs.EOF=FalseThenMe.DTPicker1(0).Value=Trim(rs.Fields("rpttime").Value)&""Me.Text2.Text=Trim(rs.Fields("consumer").Value)&""Me.Text3.Text=Trim(rs.Fields("csmphoto").Value)&""Me.Text4.Text=Trim(rs.Fields("csmaddress").Value)&""Me.Text5.Text=Trim(rs.Fields("rtpcontent").Value)&""idflag=Trim(rs.Fields("mtnid").Value)ElseMsgBox"沒有找到該記錄!",vbOKOnly+vbExclamation,"信息提示!"EndIfEndSub要編寫安全的ADO.NET應用程序,所涉及的問題不僅僅是要避免常見的編碼缺陷。訪問數(shù)據(jù)的應用程序包含許多潛在的故障點,攻擊者可以利用這些故障點來檢索、操縱或破壞敏感的數(shù)據(jù)。一定要了解安全的各個方面,從應用程序設(shè)計階段建立威脅模型的過程,到應用程序的最終部署,到對應用程序的不斷的實時維護,都要考慮到。第三章需求分析【需求分析】需求分析是軟件設(shè)計當中最重要的步驟之一,它也是決定一個軟件產(chǎn)品好壞的重要因素。通過需求分析可以得知該系統(tǒng)的可行性程度,開發(fā)難度,并決定應該使用的技術(shù)和開發(fā)工具。這是一個基于C/S架構(gòu)的數(shù)據(jù)庫應用程序,主要功能模塊如下:功能序號功能名稱功能說明1圖書管理包含圖書類別、信息管理、查詢圖書信息等2讀者管理包含讀者類別、讀者信息、查詢讀者信息等3圖書借閱管理包含借書管理、還書管理等4系統(tǒng)管理系統(tǒng)退出、添加管理員、修改密碼 圖1功能模塊圖系統(tǒng)使用工具簡介:(1)VisualBasic6.0:VisualBasic6.0是VisualBasic語言的進化版本,設(shè)計用于高效構(gòu)建類型安全和面向?qū)ο蟮膽贸绦?。VisualBasic讓開發(fā)人員可以針對Windows、Web及移動設(shè)備進行開發(fā)。(2)Visio:MicrosoftOfficeVisio2007是微軟公司出品的一款的軟件,它有助于IT和商務(wù)專業(yè)人員輕松地可視化、分析和交流復雜信息。它能夠?qū)㈦y以理解的復雜文本和表格轉(zhuǎn)換為一目了然的Visio圖表。該軟件通過創(chuàng)建與數(shù)據(jù)相關(guān)的Visio圖表(而不使用靜態(tài)圖片)來顯示數(shù)據(jù),這些圖表易于刷新,并能夠顯著提高生產(chǎn)率。使用OfficeVisio2007中的各種圖表可了解、操作和共享企業(yè)內(nèi)組織系統(tǒng)、資源和流程的有關(guān)信息。(3)PowerDesigner:PowerDesigner是Sybase公司的CASE工具集,使用它可以方便地對管理信息系統(tǒng)進行分析設(shè)計,它幾乎包括了數(shù)據(jù)庫模型設(shè)計的全過程。利用PowerDesigner可以制作數(shù)據(jù)流程圖、概念數(shù)據(jù)模型、物理數(shù)據(jù)模型,可以生成多種客戶端開發(fā)工具的應用程序,還可為數(shù)據(jù)倉庫制作結(jié)構(gòu)模型,也能對團隊設(shè)計模型進行控制。它可與許多流行的數(shù)據(jù)庫設(shè)計軟件,例如:PowerBuilder,Delphi,VB等相配合使用來縮短開發(fā)時間和使系統(tǒng)設(shè)計更優(yōu)化。PowerDesigner系列產(chǎn)品提供了一個完整的建模解決方案,業(yè)務(wù)或系統(tǒng)分析人員,設(shè)計人員,數(shù)據(jù)庫管理員DBA和開發(fā)人員可以對其裁剪以滿足他們的特定的需要;而其模塊化的結(jié)構(gòu)為購買和擴展提供了極大的靈活性,從而使開發(fā)單位可以根據(jù)其項目的規(guī)模和范圍來使用他們所需要的工具。PowerDesigner靈活的分析和設(shè)計特性允許使用一種結(jié)構(gòu)化的方法有效地創(chuàng)建數(shù)據(jù)庫或數(shù)據(jù)倉庫,而不要求嚴格遵循一個特定的方法學。PowerDesigner提供了直觀的符號表示使數(shù)據(jù)庫的創(chuàng)建更加容易,并使項目組內(nèi)的交流和通訊標準化,同時能更加簡單地向非技術(shù)人員展示數(shù)據(jù)庫和應用的設(shè)計。第四章系統(tǒng)設(shè)計數(shù)據(jù)庫設(shè)計:數(shù)據(jù)庫設(shè)計分為詳細設(shè)計和物理設(shè)計。根據(jù)系統(tǒng)的需求分析得出,該系統(tǒng)的數(shù)據(jù)流向和數(shù)據(jù)可能有以下內(nèi)容:讀者類別、讀者信息、借閱信息、書籍信息、圖書類別、系統(tǒng)用戶等,以下是根據(jù)需求分析之后得出的系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)字典:【數(shù)據(jù)庫邏輯設(shè)計】讀者表…讀者表…讀者信息讀者類別…user用戶ID…user用戶ID…圖書管理圖書管理圖書類別…圖書借閱借書還書圖書借閱借書還書…Book圖書信息…查詢圖書查詢圖書圖書編號…圖4.數(shù)據(jù)庫邏輯結(jié)構(gòu)圖【數(shù)據(jù)庫物理設(shè)計】匯總表:視圖/表名類型說明讀者類別基本表讀者類別信息讀者信息基本表讀者信息借閱信息基本表借閱信息書籍信息基本表書籍信息圖書類別基本表圖書類別信息系統(tǒng)管理基本表系統(tǒng)中用戶信息各表設(shè)計詳解:[說明]:空缺位置表示無要求,主鍵在約束欄注明。基本表:[讀者類別]字段類型長度格式約束種類名稱文本50主鍵借書數(shù)量數(shù)字長整型借書期限數(shù)字長整型有限期限備注基本表:[讀者信息]字段類型長度格式約束讀者姓名文本50主鍵讀者編號文本50主鍵性別文本2讀者類別文本50工作單位文本50家庭住址文本50電話號碼文本12登記日期日期/時間已借書數(shù)量數(shù)字長整型基本表:[借閱信息]字段類型長度格式約束借閱編號自動編號長整型主鍵讀者編號文本50讀者姓名文本50書籍編號文本50書籍名稱文本50出借日期日期/時間還書日期日期/時間基本表:[圖書信息]字段類型長度格式約束圖書編號文本50主鍵書名文本50類別文本50作者文本250出版社文本出版日期日期/時間登記日期日期/時間是否被借出文本2基本表:[圖書類別]字段類型長度格式約束類別名稱文本50主鍵類別編號文本50基本表:[系統(tǒng)管理]字段類型長度格式約束用戶名文本50主鍵密碼文本50權(quán)限文本20【物理設(shè)計】 即根據(jù)ER圖或根據(jù)詳細設(shè)計部分得出的數(shù)據(jù)字典,在數(shù)據(jù)庫設(shè)計器中進行數(shù)據(jù)庫模型、表結(jié)構(gòu)的具體建立。數(shù)據(jù)庫設(shè)計器是一種可視化工具,它允許您對所連接的數(shù)據(jù)庫進行設(shè)計和可視化處理。設(shè)計數(shù)據(jù)庫時,可以使用數(shù)據(jù)庫設(shè)計器創(chuàng)建、編輯或刪除表、列、鍵、索引、關(guān)系和約束。為使數(shù)據(jù)庫可視化,可創(chuàng)建一個或更多的關(guān)系圖,以顯示數(shù)據(jù)庫中的部分或全部表、列、鍵和關(guān)系。 除了通過設(shè)計器進行建立,還可以通過編寫sql腳本來建立數(shù)據(jù)庫和表結(jié)構(gòu)。腳本實例:usemastergoifexists(select*fromsysdatabaseswherename=''book'')dropdatabasebookgocreatedatabase"book"ONPRIMARY (NAME=book_db,FILENAME='d:\hr_db.mdf',SIZE=3MB,MAXSIZE=UNLIMITED,FILEGROWTH=256KB)LOGON (NAME=book_log,FILENAME='d:\hr_log.ldf',SIZE=1MB,MAXSIZE=UNLIMITED,FILEGROWTH=256KB)go以上腳本可以完成數(shù)據(jù)庫的建立。use"book"go*/createtable"users"( "u_id"intidentitynotnull, "u_name"varchar(60)notnull, "u_true_name"varchar(60)notnull, "u_password"varchar(60)notnull, roleIdint)以上腳本可以完成在數(shù)據(jù)庫book中建立一個用戶表。程序設(shè)計:程序設(shè)計即編碼階段。本系統(tǒng)采用vb語言進行實現(xiàn),下面是主要功能的實現(xiàn)思路和代碼邏輯:A、登錄模塊: 圖2登錄窗口【實現(xiàn)思路】該窗口在系統(tǒng)開始運行前首先顯示,通過驗證輸入的用戶名和密碼來讓操作員進入系統(tǒng)。登錄成功后將進入系統(tǒng)主界面:【流程圖】開始開始登錄窗體退出終止YN系統(tǒng)主界面驗證登錄YN圖3登錄流程圖【實現(xiàn)代碼】代碼段1:驗證輸入的用戶名稱是否為空:PrivateSubCommand1_Click()DimsqlAsStringDimrs_loginAsNewADODB.RecordsetIfTrim(txtuser.Text)=""Then'判斷輸入的用戶名是否為空MsgBox"沒有這個用戶",vbOKOnly+vbExclamation,""txtuser.SetFocusElsesql="select*from系統(tǒng)管理where用戶名='"&txtuser.Text&"'"rs_login.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_login.EOF=TrueThenMsgBox"沒有這個用戶",vbOKOnly+vbExclamation,""txtuser.SetFocusElse'檢驗密碼是否正確IfTrim(rs_login.Fields(1))=Trim(txtpwd.Text)ThenuserID=txtuser.Textuserpow=rs_login.Fields(2)rs_login.CloseUnloadMeForm1.ShowElseMsgBox"密碼不正確",vbOKOnly+vbExclamation,""txtpwd.SetFocusEndIfEndIfEndIfcnt=cnt+1Ifcnt=3ThenUnloadMeEndIfExitSub這里采用了一種安全機制,以防有人進行惡意的密碼破解,每次程序程序用戶只有三次輸入密碼的機會,如果三次密碼都不正確,則退出系統(tǒng)。B、系統(tǒng)主界面:圖4系統(tǒng)主界面【實現(xiàn)思路】該界面應該包含用戶常用的功能菜單、工具條等,點擊相應的按鈕或下拉菜單即可運行相應的模塊:如圖所示?!玖鞒虉D】登錄成功登錄成功系統(tǒng)主界面圖書管理讀者管理圖書借閱管理系統(tǒng)管理結(jié)束退出系統(tǒng)圖5系統(tǒng)主界面流程圖【代碼實現(xiàn)】該界面的代碼實現(xiàn)只包含相應的子窗體調(diào)用代碼,例如:BeginVB.FormForm1Caption="圖書管理系統(tǒng)"ClientHeight=8760ClientLeft=60ClientTop=420ClientWidth=11460LinkTopic="Form1"MaxButton=0'FalseScaleHeight=8760ScaleWidth=11460StartUpPosition=2'屏幕中心WindowState=2'MaximizedBeginVB.PictureBoxPicture1Height=8775Left=0Picture="form1.frx":0000ScaleHeight=8715ScaleWidth=11475TabIndex=0Top=0Width=11535BeginVB.LabelLabel1BackColor=&H000080FF&Caption="圖書管理系統(tǒng)"BeginPropertyFontName="宋體"Size=26.25Charset=134Weight=700Underline=0'FalseItalic=0'FalseStrikethrough=0'FalseEndPropertyHeight=735Left=2040TabIndex=1Top=3240Width=6735EndEndBeginVB.Menubook_manageCaption="圖書管理"BeginVB.Menubook_style_manageCaption="圖書類別管理"BeginVB.Menuadd_book_styleCaption="添加圖書類別"EndBeginVB.Menumodify_book_styleCaption="修改圖書類別"EndBeginVB.Menudel_book_styleCaption="刪除圖書類別"EndEndBeginVB.Menubook_info_manageCaption="圖書信息管理"BeginVB.Menuadd_book_infoCaption="添加圖書信息"EndBeginVB.Menumodify_book_infoCaption="修改圖書信息"EndBeginVB.Menudel_book_infoCaption="刪除圖書信息"EndBeginVB.Menufind_book_infoCaption="查詢圖書信息"EndEndEndBeginVB.Menureader_manageCaption="讀者管理"BeginVB.Menureader_style_manageCaption="讀者類別管理"BeginVB.Menuadd_reader_styleCaption="添加讀者類別"EndBeginVB.Menumodify_reader_styleCaption="修改讀者類別"EndBeginVB.Menudel_reader_styleCaption="刪除讀者類別"EndEndBeginVB.Menureader_info_manageCaption="讀者信息管理"BeginVB.Menuadd_reader_infoCaption="添加讀者信息"EndBeginVB.Menumodify_reader_infoCaption="修改讀者信息"EndBeginVB.Menudel_reader_infoCaption="刪除讀者信息"EndBeginVB.Menufind_reader_infoCaption="查詢讀者信息"EndEndEndBeginVB.Menubook_lendCaption="圖書借閱管理"BeginVB.Menulend_book_manageCaption="借書管理"BeginVB.Menuadd_lend_bookCaption="添加借書信息"EndBeginVB.Menufind_lend_bookCaption="查詢借書信息"EndEndBeginVB.Menuback_book_manageCaption="還書管理"BeginVB.Menuadd_back_bookCaption="添加還書信息"EndEndEndBeginVB.Menusys_manageCaption="系統(tǒng)管理"BeginVB.Menuadd_adminCaption="添加管理員"EndBeginVB.Menuchange_pwdCaption="修改密碼"EndBeginVB.Menuexit_sysCaption="退出系統(tǒng)"EndEndEndAttributeVB_Name="Form1"AttributeVB_GlobalNameSpace=FalseAttributeVB_Creatable=FalseAttributeVB_PredeclaredId=TrueAttributeVB_Exposed=FalsePrivateSubadd_admin_Click()frmadduser.ShowEndSubPrivateSubadd_back_book_Click()frmbackbookinfo.ShowEndSubPrivateSubadd_book_info_Click()frmaddbookinfo.ShowEndSubPrivateSubadd_book_style_Click()frmaddbookstyle.ShowEndSubPrivateSubadd_lend_book_Click()frmfindbook.ShowEndSubPrivateSubadd_reader_info_Click()frmaddreaderinfo.ShowEndSubPrivateSubadd_reader_style_Click()frmaddreaderstyle.ShowEndSubPrivateSubchange_pwd_Click()frmchangepwd.ShowEndSubPrivateSubdel_book_info_Click()frmmodifybookinfo.ShowEndSubPrivateSubdel_book_style_Click()frmmodifybookstyle.ShowEndSubPrivateSubdel_reader_info_Click()frmreaderinfo.ShowEndSubPrivateSubdel_reader_style_Click()frmmodifyreaderstyle.ShowEndSubPrivateSubexit_sys_Click()EndEndSubPrivateSubfind_book_info_Click()frmfindbook.ShowEndSubPrivateSubfind_lend_book_Click()frmfindborrowinfo.ShowEndSubPrivateSubfind_reader_info_Click()frmfindreader.ShowEndSubPrivateSubmodify_book_info_Click()frmmodifybookinfo.ShowEndSubPrivateSubmodify_book_style_Click()frmmodifybookstyle.ShowEndSubPrivateSubmodify_reader_info_Click()frmreaderinfo.ShowEndSubPrivateSubmodify_reader_style_Click()frmmodifyreaderstyle.ShowEndSub(2)點擊重新登錄的時候要退出系統(tǒng),并顯示登錄界面PrivateSubMenurelogin_Click()login.ShowUnloadMDIForm1EndSubC、圖書管理模塊:添加類別:添加圖書:圖6和7圖書管理界面【實現(xiàn)思路】當用戶點擊圖書(類別)管理按鈕時應顯示該界面,然后操作員輸入相應的信息,點擊增加即可完成圖書及類別的添加,新添加的影片將顯示在下面的列表中。當用戶在ListView控件中點擊某一部影片的時候應在上半部分顯示出該圖書的詳細信息。并將增加按鈕禁用,啟用修改和刪除按鈕,點擊取消的時候關(guān)閉該窗口?!玖鞒虉D】開始開始圖書(類別)管理退出N結(jié)束返回主界面輸入內(nèi)容增加YN點擊修改修改N圖7添加圖書(類別)的流程圖【代碼實現(xiàn)】主要部分代碼:增加圖書(類別)功能代碼:(1)點擊添加按鈕將執(zhí)行下面的代碼,代碼中從文本框中獲取用戶的輸入,并拼接到插入的sql語句中,最后執(zhí)行插入Dimrs_addbookAsNewADODB.RecordsetDimsqlAsStringIfTrim(Combo1.Text)=""ThenMsgBox"請選擇圖書種類",vbOKOnly+vbExclamation,""Combo1.SetFocusExitSubEndIfIfTrim(Text1.Text)=""ThenMsgBox"圖書編號不能為空",vbOKOnly+vbExclamation,""Text1.SetFocusExitSubEndIfIfTrim(Text2.Text)=""ThenMsgBox"書名不能為空",vbOKOnly+vbExclamation,""Text2.SetFocusExitSubEndIfIfNotIsDate(Text5.Text)ThenMsgBox"請按照yyyy-mm-dd格式輸入日期",vbOKOnly+vbExclamation,""Text5.SetFocusExitSubEndIfIfNotIsDate(Text6.Text)ThenMsgBox"請按照yyyy-mm-dd格式輸入日期",vbOKOnly+vbExclamation,""Text6.SetFocusExitSubEndIfsql="select*from書籍信息where書籍編號='"&Text1.Text&"'"rs_addbook.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_addbook.EOFThenrs_addbook.AddNewrs_addbook.Fields(0)=Trim(Text1.Text)rs_addbook.Fields(1)=Trim(Text2.Text)rs_addbook.Fields(2)=Trim(Combo1.Text)rs_addbook.Fields(3)=Trim(Text3.Text)rs_addbook.Fields(4)=Trim(Text4.Text)rs_addbook.Fields(5)=Trim(Text5.Text)rs_addbook.Fields(6)=Trim(Text6.Text)rs_addbook.Fields(7)="否"rs_addbook.UpdateMsgBox"添加書籍信息成功!",vbOKOnly,""rs_addbook.CloseElseMsgBox"圖書編號重復!",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""rs_addbook.CloseExitSubEndIfEndSubPrivateSubCommand1_Click()Dimrs_bookstyleAsNewADODB.RecordsetDimsqlAsStringIfTrim(Text1.Text)=""ThenMsgBox"圖書種類不能為空",vbOKOnly+vbExclamation,""Text1.SetFocusExitSubEndIfIfTrim(Text2.Text)=""ThenMsgBox"種類編號不能為空",vbOKOnly+vbExclamation,""Text2.SetFocusExitSubEndIfsql="select*from圖書類別where類別名稱='"&Text1.Text&"'"rs_bookstyle.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_bookstyle.EOFThenrs_bookstyle.AddNewrs_bookstyle.Fields(0)=Trim(Text1.Text)rs_bookstyle.Fields(1)=Trim(Text2.Text)rs_bookstyle.UpdateMsgBox"添加圖書類別成功!",vbOKOnly,""rs_bookstyle.CloseElseMsgBox"讀者類別重復!",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""rs_bookstyle.CloseExitSubEndIfEndSub(2)修改功能的代碼PrivateSubcmdupdate_Click()IfNotIsNull(DataGrid1.Bookmark)Thenrs_book.UpdateEndIfcmdmodify.Enabled=Truecmddel.Enabled=Truecmdcancel.Enabled=Falsecmdupdate.Enabled=FalseDataGrid1.AllowUpdate=FalseMsgBox"修改成功!",vbOKOnly+vbExclamation,""EndSub(3)刪除按鈕功能PrivateSubcmddel_Click()DimanswerAsStringOnErrorGoTodelerroranswer=MsgBox("確定要刪除嗎?",vbYesNo,"")Ifanswer=vbYesThenDataGrid1.AllowDelete=Truers_book.Deleters_book.UpdateDataGrid1.RefreshMsgBox"成功刪除!",vbOKOnly+vbExclamation,""DataGrid1.AllowDelete=FalseElseExitSubEndIfdelerror:IfErr.Number<>0ThenMsgBoxErr.DescriptionEndIfEndSub(4)點擊ListView中一項,將在上面顯示該項目的詳細信息,并讓修改按鈕可以使用,增加按鈕不能使用PrivateSubListView1_ItemClick(ByValItemAsMSComctlLib.ListItem)Me.Text1.Text=ListView1.SelectedItem.TextMe.Combo1.Text=ListView1.SelectedItem.ListSubItems(1).TextMe.Text2.Text=ListView1.SelectedItem.ListSubItems(2).TextMe.Text3.Text=ListView1.SelectedItem.ListSubItems(3).TextMe.DTPicker1.Value=ListView1.SelectedItem.ListSubItems(4).TextMe.Text5.Text=ListView1.SelectedItem.ListSubItems(5).Textid=ListView1.SelectedItem.ListSubItems(6).TextMe.Command1.Enabled=FalseMe.Command2.Enabled=TrueMe.Command3.Enabled=TrueEndSub(5)添加或修改完畢后,刷新ListView信息的顯示PrivateSublstrefresh()DimrsAsNewADODB.Recordset'Setrs=TransactSQL(SQL)Ifrs.State=1Thenrs.Closers.Open"select*fromtransactor",cnMe.ListView1.ListItems.ClearIfrs.EOF=FalseThenWhilers.EOF<>TrueSetlb=ListView1.ListItems.Add(,,Trim(rs.Fields("tstname").Value))lb.SubItems(1)=Trim(rs.Fields("tstxb").Value)&""lb.SubItems(2)=Trim(rs.Fields("tstdepartment").Value)&""lb.SubItems(3)=Trim(rs.Fields("tstnl").Value)&""lb.SubItems(4)=Trim(rs.Fields("tstphone").Value)&""lb.SubItems(5)=Trim(rs.Fields("tstzc").Value)&""lb.SubItems(6)=Trim(rs.Fields("tstid").Value)rs.MoveNextWendrs.CloseEndIfEndSubD、讀者管理模塊:圖8讀者管理【實現(xiàn)思路】該模塊的實現(xiàn)與圖書管理模塊類似,只是字段多一些?!玖鞒虉D】【實現(xiàn)代碼】(1)實現(xiàn)了窗體加載時應該進行的操作。PrivateSubForm_Load()Combo2.AddItem"男"Combo2.AddItem"女"Dimrs_leibieAsNewADODB.RecordsetDimsqlAsStringsql="select*from讀者類別"rs_leibie.Opensql,conn,adOpenKeyset,adLockPessimisticrs_leibie.MoveFirstDoWhileNotrs_leibie.EOFCombo1.AddItemrs_leibie.Fields(0)rs_leibie.MoveNextLooprs_leibie.CloseEndSub(2)增加讀者DimsqlAsStringIfTrim(Combo1.Text)=""ThenMsgBox"請選擇讀者種類",vbOKOnly+vbExclamation,""Combo1.SetFocusExitSubEndIfIfTrim(Text1.Text)=""ThenMsgBox"讀者姓名不能為空",vbOKOnly+vbExclamation,""Text1.SetFocusExitSubEndIfIfTrim(Text2.Text)=""ThenMsgBox"讀者編號不能為空",vbOKOnly+vbExclamation,""Text2.SetFocusExitSubEndIfsql="se
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 科技驅(qū)動的工業(yè)互聯(lián)網(wǎng)創(chuàng)新生態(tài)構(gòu)建研究
- 課題申報參考:賈湖骨笛的實驗音樂考古學研究
- 2025年度個人消費借款信用保證合同范本4篇
- 2025版挖掘機買賣合同及挖掘機操作人員培訓協(xié)議3篇
- 2025版新媒體人工智能助手研發(fā)與運營合同2篇
- 2025版小程序技術(shù)支持授權(quán)協(xié)議范本2篇
- 2025年福州貨車資格證答案
- 2025年度知識產(chǎn)權(quán)代理服務(wù)合同樣本8篇
- 二零二五版毛竹砍伐與林業(yè)碳排放權(quán)交易合同3篇
- 二零二五年度出納風險控制擔保及咨詢合同4篇
- 二零二五年度無人駕駛車輛測試合同免責協(xié)議書
- 2025年湖北華中科技大學招聘實驗技術(shù)人員52名歷年高頻重點提升(共500題)附帶答案詳解
- 高三日語一輪復習助詞「と」的用法課件
- 毛渣采購合同范例
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
- 2023中華護理學會團體標準-注射相關(guān)感染預防與控制
- 五年級上冊小數(shù)遞等式計算200道及答案
- 2024年廣東高考政治真題考點分布匯 總- 高考政治一輪復習
- 燃氣管道年度檢驗報告
- GB/T 44052-2024液壓傳動過濾器性能特性的標識
- 國際市場營銷環(huán)境案例分析
評論
0/150
提交評論