當前位置:歷史故事大全網 - 圖書館 - 英文保護信的相關句子

英文保護信的相關句子

類別:計算機/網絡

分析:

各種類型數據的高級接口逐漸演變成壹套完整的解決方案,滿足所有的數據訪問需求。DataModule 4.adoquery2.sql.add('選擇圖書卡號,密碼來自[用戶]WHERE(圖書卡號=:TT)');

data module 4 . adoquery2 . parameters[0]。值:=用戶名;

data module 4 . adoquery2 . open;

為TQuery或TADOquery部分設置SQL屬性時,調用Close方法總是安全的。如果TQuery或TADOquery部分已經關閉,調用close方法將不起作用。在應用程序中為SQL屬性設置新的SQL命令語句時,必須調用Clear方法來清除SQL屬性中現有的SQL命令語句。如果不調用clear方法,可以調用Add方法在SQL屬性中設置SQL命令語句。然後新設置的SQL命令語句會追加到已有的SQL命令語句中,程序運行時經常會出現意外的查詢結果,甚至程序無法運行。

在這裏特別註意是很重要的。壹般情況下,TQuery或TADOquery組件的SQL屬性只能包含壹條完整的SQL語句,不允許設置為多條SQL語句。當然,有些數據庫服務器也支持在TQuery或TADOquery組件的SQL屬性中設置多個SQL語句。只要數據庫服務器允許,我們可以在編程時為SQL屬性設置多個SQL語句。

在為TQuery或TADOquery組件設置了SQL屬性的屬性值之後,也就是寫了壹個合適的SQL程序之後,有很多方法可以執行SQL程序。

在設計過程中,設置好TQuery或TADOquery組件的SQL屬性後,將其Active屬性的值設置為True,這樣就可以執行SQL屬性中的SQL程序。如果應用程序中有連接到TQuery或TADOquery組件(如TDDGridTDBEdit)的數據瀏覽組件,SQL程序的執行結果會顯示在這些數據瀏覽組件中。

在應用程序運行期間,可以通過調用TQuery或TADOquery組件的Open方法或ExecSQL方法來執行SQL程序的SQL屬性。Open方法不同於ExecSQL方法。Open方法只能用來執行SQL查詢語句(Select命令)並返回壹個查詢結果集,而ExecSQL方法還可以用來執行其他常用的SQL語句(如INSERT、UPDATE、DELETE等命令),如:

Query1。打開(這將返回壹個查詢結果集)。

如果在沒有查詢結果的情況下調用Open方法,將會出現錯誤。此時應該調用ExecSQL方法,而不是Open方法。比如:

Query1。ExecSQL(未返回結果)

當然,在設計應用程序時,程序員無法確定TQuery或TADOquery組件中的SQL語句是否會返回壹個查詢結果。在這種情況下,嘗試…除了模塊應該用來設計程序。在Try部分調用Open方法,在Except部分調用ExceSQL方法,保證程序正確運行。

例如:

嘗試

Query1。打開

除...之外

Query1。ExecSQL

結束

通過Tquery或TADOquery組件可以獲得兩種類型的數據:

u“活動”數據

這種數據就像通過Table組件獲得的數據壹樣。用戶可以通過數據瀏覽組件對這些數據進行編輯和修改,當Post方法被調用或者焦點離開當前數據瀏覽組件時,用戶對數據的修改會自動寫回數據庫。

u非活動數據(只讀數據)

用戶不能通過數據瀏覽組件修改數據。默認情況下,通過TQuery組件獲得的查詢結果數據是只讀的。為了獲得“活動”數據,必須在應用程序中將Tquery或TADOquery組件的RequestLive屬性值設置為True,但是在任何情況下都不能獲得“活動”數據(通過將RequestLive的從屬值設置為True)。為了獲得“活動”數據,除了將TQuery部分的RequestLive屬性設置為True之外,相應的SQL命令還必須滿足以下條件。

在本地SQL語句查詢的情況下,為了得到壹個可更新的數據集,SQL語句的限制如下:

n壹個查詢只能涉及壹個表。

nSQL語句不能包含ORDERBY命令。

NSQL語句不能包含聚合運算符SUM或AVG。

n選擇後,字段列表中不能有計算字段。

n在Select語句的WHERE部分,只能包含字段值和常量之間的比較運算。這些比較運算符是:Like,& gt,& lt,& gt=,& lt=。比較運算之間可以有並集和交集運算:AND和OR。

當通過SQL語句查詢數據庫服務器中的數據庫表時:

n壹個查詢只能涉及壹個表。

nSQL語句不能包含ORDERBY命令。

NSQL語句不能包含聚合運算符SUM或AVG運算。

此外,如果在Sybase數據庫中查詢壹個表,則被查詢的表中只能有壹個索引。

如果需要TQuery或TADOquery組件在應用程序中返回壹個“活動的”查詢結果數據集,但是SQL命令語句不滿足上述約束,那麽BDE只能為本地數據庫的SQL查詢返回壹個只讀數據集。對於數據庫服務器中的SQL查詢,只能返回錯誤的代碼。當Tquery或TADOquery組件返回“活動”查詢結果數據集時,其CanModIfy屬性的值設置為True。

3.4MSSQLServer簡介

SQLServer是壹個後臺數據庫管理系統,功能強大,操作簡單,越來越受到數據庫用戶的喜愛。越來越多的開發工具提供了與SQLServer的接口。SQLServer是壹個關系數據庫管理系統,最初由微軟、Sybase和Ashton-Tate開發。第壹個OS/2版本是1988推出的。WindowsNT推出後,微軟和Sybase在SQLServer的開發上分道揚鑣。微軟將SQLServer移植到WindowsNT系統,專註於SQL server windows nt版本的開發和推廣。

SQLServer2000是微軟公司推出的SQLServer數據庫管理系統的最新版本。該版本繼承了SQLServer7.0的優點,同時增加了許多比它更高級的功能,具有使用方便、擴展性好、與相關軟件集成度高的優點。它可以跨多種平臺使用,從運行MicrosoftWindows98的筆記本電腦到運行MicrosoftWindows2000的大型多處理器服務器。MSSQLServer不僅可以應用於大中型數據庫的管理,還可以開發桌面數據庫。事實上,SQLServer數據庫處理的基本結構采用關系數據庫模式。盡管如此,我相信大家還是很容易發現,SQLServer中的數據庫處理方式采用了面向對象的操作方式和精神,也就是說SQLServer的所有功能都可以基於系統中已經建立的壹些對象來實現,這是壹種相當OO (object-oriented)的體系結構。

SQLServer企業管理器是SQLServer的主要管理工具,它提供了符合MMC標準的用戶界面,使用戶能夠:

定義SQLServer實例組。

將單個服務器註冊到壹個組中。

為每個已註冊的服務器配置所有SQLServer選項。

創建和管理每個註冊服務器中的所有SQLServer數據庫、對象、登錄名、用戶和權限。

在每個註冊的服務器上定義和執行所有SQLServer管理任務。

通過調用SQL查詢分析器,交互式地設計和測試SQL語句、批處理和腳本。

喚醒並調用為SQLServer定義的各種向導。

第三章圖書管理系統的設計與分析

4.1應用需求分析

圖書館管理系統需要滿足三個方面的需求,即圖書借閱者、圖書館工作人員和圖書館管理者。圖書借閱者的需求是查詢館藏圖書、個人借閱情況、個人信息修改;圖書館工作人員對圖書借閱者的借閱、歸還要求進行操作,同時形成借閱或歸還報告,供借閱者查看確認;圖書館管理員的功能是最復雜的,包括對工作人員、圖書借閱者和圖書的管理和維護,系統狀態的查看和維護,圖書歸還報表的生成。

借書人可以直接去圖書館查書。如果他們根據自己的圖書卡號和密碼登錄系統,還可以查詢自己的借閱情況,維護壹些個人信息。壹般情況下,圖書借閱者只應查詢和維護自己的借閱情況和個人信息。如果他查詢和維護其他借書人的借閱情況和個人信息,就必須知道其他借書人的圖書卡號和密碼。這些都很難得到,尤其是密碼,所以既滿足了圖書借閱者的要求,又保護了個人隱私。

圖書館工作人員有權修改圖書的借閱和歸還記錄,因此應更多地考慮工作人員登錄該模塊。在該模塊中,圖書館工作人員可以為借書人添加借書記錄或還書記錄,並打印生成相應的報表供用戶查看確認。

圖書館管理員信息量大,對數據安全保密的要求最高。該功能實現了圖書信息、借閱者信息、整體借閱信息的管理和統計,以及人員和管理信息的查看和維護。圖書管理員可以瀏覽、查詢、添加、刪除、修改和統計圖書的基本信息;瀏覽、查詢、統計、增加、刪除和修改圖書借閱者的基本信息,瀏覽、查詢和統計圖書館的借閱信息,但不能增加、刪除和修改借閱信息。這部分職能應由圖書館工作人員執行。但是,在刪除圖書借閱者的基本信息記錄時,應級聯刪除圖書借閱者的借閱記錄。此外,還應具備生成和打印還書報告的功能。

在這個系統中,由於沒有打印機設備進行測試,報告打印改為提前報告預覽。

設計不同用戶的操作權限和登錄方式。

對所有用戶開放的圖書查詢

借款人維護借款人的個人信息。

借款人查詢個人借款信息。

維護借款人的個人密碼

根據借閱情況操作數據庫並生成報表。

根據還書情況操作數據庫並生成報表。

查詢和統計各種信息

維護圖書信息

維護員工和管理員信息。

維護借款人信息

處理信息的完整性

為已過期的圖書生成報告。

圖4-2圖書館管理系統數據庫應用需求匯總

根據以上需求分析,省略了壹些細節(如不考慮用戶的登錄;記錄的維護),得到以下三層數據流程圖。

4.2系統功能模塊的劃分

系統的功能框圖如圖4-10所示。

4.3系統數據庫設計

概念設計

在概念設計階段,設計師從用戶的角度對待數據、處理需求和約束,產生反映用戶觀點的概念模型。然後將概念模型轉換成邏輯模型。概念設計與設計過程相分離,使得每個階段的任務相對簡單,大大降低了設計的復雜性,並且不受某個具體DBMS的限制。

ER方法的數據庫概念設計可以分為三步:首先設計局部ER模式,然後將每個局部ER模式合成壹個全局模式,最後對全局ER模式進行優化得到最終模式,即概念模式。

(1)設計本地ER模式

實體和屬性的定義:

圖書(書號、書名、作者、出版社、出版日期、備註、價格、數量等)

借書人(借書證號、姓名、性別、身份證、聯系電話、密碼)

身份(身份證號、身份證描述、最大借閱次數)

圖書類別(圖書類別號、類別描述)

ER模型的“連接”用於描述實體之間的關聯。壹個完整的方式是根據需求分析的結果,考察局部結構中任意兩個實體類型之間是否有聯系。如果有聯系,進壹步確定是1:N,M:N,還是1:1等等。還需要考察壹個實體類型內部是否有聯系,兩個實體類型之間是否有聯系,多個實體類型之間是否有聯系等等。聯系人定義如圖4-5所示。解釋如下:

u壹個借款人(用戶)只能有壹個身份,壹個身份可以歸多個借款人所有;

u壹本書只能屬於壹個圖書類別(類目),壹個圖書類別可以包含多本書;

壹個用戶可以借很多不同的書,壹本書也可以被很多不同的用戶借走。

(2)設計全局ER模式

在設計完所有的局部er模式之後,下壹步是將它們合成到壹個單壹的全局概念結構中。全局概念結構不僅要支持所有的局部ER模式,還要合理地表示壹個完整的、壹致的數據庫概念結構。

1)確定公* * *的實體類型

為了給多個局部er模式的合並提供基礎,我們必須首先確定每個局部結構中的公共實體類型。在這壹步中,我們只根據實體類型名稱和鍵來標識公共實體類型。壹般情況下,同名的實體類型視為公共實體類型的候選,相同鍵的實體類型視為公共實體類型的另壹個候選。

2)局部er模式的合並

合並的原則是:第壹,成對合並;首先,合並那些在現實世界中有關聯的局部結構;合並從公共實體類型開始,最後加入獨立的地方結構。

3)消除沖突

沖突分為三類:屬性沖突、結構沖突和命名沖突。

設計全局ER模式的目的不是將幾個局部ER模式正式合並成壹個ER模式,而是消除沖突,使之成為所有用戶都能理解和接受的同壹個概念模型。

3)全局ER模式的優化

在獲得全局er模式後,為了提高數據庫系統的效率,需要根據處理要求進壹步優化ER模式。壹個好的全局ER模型不僅要準確、全面地反映用戶的功能需求,還要滿足以下條件:實體類型的數量要盡可能少;實體類型包含盡可能少的屬性;實體類型之間沒有冗余。

綜上所述,“圖書管理系統”的全局ER模式如圖4-13所示。

關系數據庫的邏輯設計

因為概念設計的結果是er圖,DBMS壹般采用關系型(我用的MSSQLServer是關系型DBMS),所以數據庫的邏輯設計過程就是ER圖轉化為關系模式的過程。由於關系模型的優點,邏輯設計可以充分利用關系數據庫的規範化理論,使設計過程形式化。設計結果是壹組關系模式的定義。

(1)導出初始關系模式

圖書(書號#、圖書名稱、圖書類別#、作者、出版社、出版日期、備註、價格、數量)類別(圖書類別#、類別名稱)用戶(圖書卡號#、姓名、性別、身份證號#、身份證、聯系電話、密碼)ID(身份證號#、身份描述、最大借閱次數)。

圖4-14關系模式集

(2)生成子模式

子模式是對用戶使用的數據部分的描述。除了指出用戶使用的數據,還要指出數據與概念模型中對應數據的關系,即概念模型與子模型的對應關系。

子借閱方式(借書證號、姓名、書號、書名、借閱日期)

圖4-15部分子模式

(3)根據設計中的問題,我在編寫系統時還添加了兩個關系模型:

1,ownertemp:用於工作人員在辦理借書還書時臨時存儲借書還書信息,以便打印報表。

2.keyer:用於存儲工作人員和圖書管理員的用戶名、密碼和權限,以便工作人員或圖書管理員在進入相應的功能模塊時驗證用戶的身份。

4.3.3數據庫的實現

數據庫的邏輯設計我選擇了MicrosoftSQLServer2000(企業版)數據庫。首先創建7個基本數據庫表,如表4-1-4-7所示,然後根據全局ER圖建立表之間的關系,如圖4-8所示。

表4-1借款人基本信息表結構(用戶)

表4-2圖書信息表(圖書)的結構

表4-3圖書類別信息表(類)的結構

表4-4借款人身份信息表(ID)結構

表4-5借款情況信息表結構(業主)

表4-6臨時存儲信息表(Ownertemp)的借閱情況結構

註意:在owner表和ownertemp表中增加壹個索引字段,用於唯壹標識壹條圖書借閱記錄,並設置為標識符,標識符seed為1。

表4-7員工和管理員信息表的結構(Keyer)

圖4-8數據庫表之間的關系圖

第五章圖書館管理系統應用程序設計

5.1系統表單模塊

5.2數據模塊表單的設置

在編寫數據庫應用程序時,經常會遇到許多組件和表單同時訪問同壹個數據源的情況。為每個組件或表單設置壹個數據源將是壹項非常耗時的工作,並且需要花費壹些精力來確保這些數據源確實是相同的。那麽,能否將這些數據源集中管理,最好是作為壹個統壹的模塊,在需要的時候引入該模塊,而不需要直接操作數據源本身?DataModule是這個問題的最佳答案。簡單來說,數據模塊是對數據源進行集中管理的壹種形式,可以在需要的地方隨時引入。

但是我在開發這個系統的時候,開始使用數據模塊,但是在使用的過程中遇到了壹些問題。而且考慮到這個系統使用的TADOQuery控件比較多,如果使用數據控件,可能會帶來管理上的麻煩,比如把各種數據控件的功能搞混。也有人認為使用動態生成的ADOQuery可以節省更多的資源。所以在我自己的系統中,我開始做的第壹個模塊“借款人個人模塊”也是稍微用了數據模塊。但是在接下來的兩個模塊中,大部分都是通過動態生成ADOQuery來實現的。而且因為SQL語句是動態添加的,所以datamodule中的控件並不多。

5.3啟動屏幕的實現

啟動屏幕是為了給用戶留下好印象,加深軟件的親和力。它沒有實際功能。將圖像和時間組件添加到Form1中。啟動屏幕的形式省略,主要源代碼如下:

5.4用戶登錄表單的實現

該表單為三種不同的用戶(普通用戶、職員和管理員)提供了進入不同模塊的選擇,以滿足不同用戶的需求。源代碼比較簡單,縮寫。

5.5用戶密碼認證表單的實現

此表單的目的是讓工作人員或圖書管理員根據用戶名和密碼登錄,並根據用戶名檢查Keyer表中的“權限”字段,以區分是進入圖書館管理員模塊還是工作人員模塊。表單界面和源代碼如下

5.6借款人服務模塊的實現

借閱者服務表單的功能主要是查詢圖書,查看個人借閱,修改壹些個人信息。界面圖如下:

5.6.1圖書查詢功能的實現

在這個系統中,任何人都有權不受任何限制地使用查詢功能。界面如下:

因為有很多查詢功能,比如按書號、書名等字段的完全匹配搜索和部分匹配模糊搜索,以及按多個條件的邏輯與或邏輯或多條件搜索。實現方法類似,所以只給出多條件搜索的代碼,如下:

5.6.2借款人登錄功能的實現

這個功能的實現和工作人員、管理人員大致相同,更簡單。從用戶表中查找圖書卡號和密碼,看是否與用戶輸入壹致。如果壹致,用戶可以查看自己的借閱情況,維護自己的壹些信息。源代碼和借用者登錄界面都被省略了。

5.6.3借款人借款情況功能的實現

當借款人正確登錄系統後,該功能將被激活,用戶可以查看自己的借款情況。在這個系統中,壹般使用ListView來顯示信息,DBgrid只在少數情況下使用,因為我覺得ListView更好實現,可以將信息數據與用戶完全分離。

在這裏,我們可以根據借閱者的不同要求,查詢借閱情況,包括查看所有的借閱部門,壹本書的借閱情況,以及根據借閱天數進行查詢。其中基於借閱天數的查詢比較有代表性,有兩種方式:方式壹和方式二。下面給出了這個函數的源代碼。

查詢方式1按借閱天數

查詢方式二按借閱天數

5.6.4維護借款人個人資料功能的實現

該功能實現了對當前借閱者的部分信息的修改,但是圖書證號、身份類別等信息是不允許修改的,這是圖書管理員模塊的功能。在這個界面中,點擊修改按鈕打開修改表單(Form8),點擊修改密碼按鈕打開分組框8,在這裏可以修改密碼。關鍵源代碼如下。

下面是個人信息修改的源代碼:

下面是密碼修改的源代碼:

5.7員工手冊借出/歸還模塊的實現

5.7.1人員實現圖書借閱功能。

在該功能中,工作人員輸入借閱者的卡號和所要借閱圖書的書號,然後點擊借閱按鈕即可借閱圖書。考慮到我們在實際操作中可能只知道書名而不知道書號,所以在這個界面的底部增加了壹個轉換功能,可以把書名轉換成書號,然後借書。

借款完成後,系統會生成借款報告,供借款人查看確認。借閱報告的打印效果如下圖所示,實現起來比較簡單,省略了實現過程。

5.7.2工作人員實現還書功能。

在該功能中,工作人員根據借閱者的圖書卡號和歸還的書號進行還書。並且根據現實中可能出現的還書情況,只知道書名不知道書號,所以增加了按書名還書的功能。該函數是圖書借閱函數中把圖書名稱轉換成書號的改進方法,這樣就不需要像借閱函數中那樣先轉換再借閱了。退貨完成後,還會打印退貨報告,供用戶查看確認。

5.8圖書館員模塊的實現

5.8.1實現圖書管理員的圖書管理功能

在該功能中,可以在(* book number)中輸入書號,點擊查找按鈕,則信息會顯示在各個對應的組件中,或者通過圖書名稱找到想要的記錄,第壹條記錄的信息會顯示在各個對應的組件中,也可以點擊下方ListView組件中的壹條記錄,所選記錄的信息也會顯示在各個對應的組件中。在倉儲功能中,可以插入新的圖書記錄,只要它不是相同的圖書編號,並且標有*的字段不為空。刪除會刪除那些圖書表中的圖書記錄,如果出借,還可以根據用戶要求連帶刪除所有者表中的記錄。因為圖書修改和圖書存儲的功能與人員記錄修改和人員記錄添加的功能相同,所以下面只給出刪除功能的源代碼,如下。

5.8.2圖書館員、工作人員和管理員管理功能的實現。

在此功能中,您可以添加員工或管理員,或者修改他們的密碼和權限。

在該功能中,如果ListView中的記錄被選中,信息會顯示在右邊相應的組件中,管理員還可以修改這些記錄或添加新記錄。您也可以點擊刪除按鈕來刪除選中的記錄。刪除功能與圖書記錄刪除相同,下面只給出添加和修改的實現過程。

5.8.3實現圖書管理員統壹修改圖書類別和保存記錄的功能。

在這個表單中,可以刪除、添加和修改圖書的類別。該模塊的功能與刪除、添加、修改圖書記錄的功能相同,但也可以使用該表單按圖書類別進行統計,還可以根據圖書表和所有者表統計圖書總數、庫存圖書數、借出圖書數和逾期圖書數。本文給出了實現統計圖書總數、庫存圖書數、借出圖書數和過期圖書數的幾個功能和過程

5.8.4圖書館館員借閱管理功能的實現

查詢借書人可以根據借書人的借書證號或姓名或身份證號查找借書人的信息,也可以實現模糊查找。這個功能的實現壹般和前面的圖書搜索是壹樣的,就不詳細解釋了。

5.8.5實現圖書館維護借閱者的管理功能

該功能可以查看、增加、刪除和修改借款人的信息。這裏給出了刷新按鈕的實現過程。

5.8.6圖書館身份維護功能的實現

這部分是管理借款人的身份,可以添加、刪除、修改。同樣,當在listview中選擇壹條或多條記錄時,信息會顯示在相應的右邊組件中。該功能的實現過程與上面描述的類似。

5.8.7圖書館借閱統計功能的實現

該函數根據借書者的身份進行統計,得出某壹身份的借書總人數、該身份借書人數和借書數量。下面給出了實現過程。

5.8.8圖書館統計借閱逾期記錄的實現

打印的逾期貸款催收報告如下圖所示:

該報表可以按借書證號升序顯示借閱信息超過限定時間的信息,主要SQL語句如下:

5.9系統信息顯示的實現

顯示本系統信息,右邊文字向上滾動。主要實現如下:

  • 上一篇:佛教!如何擺脫惡魔
  • 下一篇:浙江新華愛心教育基金會的主要職責
  • copyright 2024歷史故事大全網