freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

圖書(shū)管理系統(tǒng)的設(shè)計(jì)—論文-資料下載頁(yè)

2024-12-06 01:26本頁(yè)面

【導(dǎo)讀】端應(yīng)用程序的開(kāi)發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。因此本人結(jié)合開(kāi)入式圖書(shū)館的要求,對(duì)MSSQLServer2021數(shù)據(jù)庫(kù)管理系統(tǒng)、SQL語(yǔ)言原理、VB. 析、功能模塊劃分、數(shù)據(jù)庫(kù)模式分析,并由此設(shè)計(jì)了數(shù)據(jù)庫(kù)結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運(yùn)行結(jié)果證明,本文所設(shè)計(jì)的圖書(shū)管理系統(tǒng)可以滿足借閱者、圖書(shū)館工作人員和高級(jí)管理員三方面的需要。編程關(guān)鍵技術(shù)進(jìn)行了系統(tǒng)的介紹。第五章進(jìn)行了具體的程序設(shè)計(jì),具體劃分了三類(lèi)用戶的操作權(quán)限,設(shè)計(jì)了了三個(gè)操作界面。實(shí)現(xiàn)了數(shù)據(jù)庫(kù)表的瀏覽,記錄的添加、刪除和修改,報(bào)表的生成,實(shí)現(xiàn)了多數(shù)據(jù)庫(kù)表的連接操作,操作,實(shí)現(xiàn)了密碼維護(hù)功能,最后,系統(tǒng)還可以導(dǎo)入數(shù)據(jù)庫(kù)以對(duì)任意同結(jié)構(gòu)的數(shù)據(jù)庫(kù)進(jìn)行操作。設(shè)計(jì)充分利用VB6、MSSQLServer2021數(shù)據(jù)庫(kù)技術(shù)的強(qiáng)大力量,提高了編程效率和可靠性。關(guān)鍵詞:數(shù)據(jù)庫(kù),SQL語(yǔ)言,MSSQLServer,VB6,數(shù)據(jù)庫(kù)組件,圖書(shū)管理,窗體,listview

  

【正文】 中 VCL(可視化組件庫(kù))組件的體系結(jié)構(gòu)。凡是做過(guò)程序開(kāi)發(fā)的人都知道從來(lái)沒(méi)有單純的數(shù)據(jù)應(yīng)用程序,也就是說(shuō),數(shù)據(jù)庫(kù)應(yīng)用程序必須和用戶界面(可以是圖形界面,也可以是命令接口)元素相結(jié)合,只講界面或只講數(shù)據(jù) 庫(kù)本身都構(gòu)不成數(shù)據(jù)庫(kù)應(yīng)用程序,因而用 VB 開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用程序就隱含著界面開(kāi)發(fā)。 組件在 VB 程序的開(kāi)發(fā)中是最顯眼的角色。大家知道,在編寫(xiě)程序時(shí)一般都開(kāi)始于在組件面板上選擇組件并定義組件間的相互作用。但也有一些組件不在組件面板上,例如 Tform 和Tapplication(典型的非可視組件)。組件是 Tponents 派生出來(lái)的子類(lèi),可以流的形式存放在DFM 文件中,具有事件和 Publish 屬性。 窗口組件類(lèi)是窗口化的可視化組件類(lèi),在 VB 的類(lèi)庫(kù)中占有最大的份額。在實(shí)際編程中,窗口組件類(lèi)的對(duì)象都有句柄,可以接 受輸入焦點(diǎn)和包含其它組件。 圖形組件與窗口組件并列,是另一大類(lèi)組件。圖形組件不是基于窗口的,因而不能有窗口句柄,不能接受輸入焦點(diǎn)和包含其它組件??梢钥闯鰣D形組件的基類(lèi)是 TgraphicControl,在實(shí)際編程中,它們必須寄生于它們的宿主 ——窗口組件類(lèi)的對(duì)象,由它們的擁有者負(fù)責(zé)其顯示,而且它們還能觸發(fā)一些和鼠標(biāo)活動(dòng)相關(guān)的事件。圖形控件最典型的例子是 Tlabel 和 TspeedButton。由此可以看出圖形組件的功能很弱,圖形組件的用處何在呢?其實(shí)使用圖形組件的最大好處在于節(jié)省資源,正是因?yàn)樗鼈兊墓δ茌^弱,所以 使用的系統(tǒng)資源就要少。在一個(gè)應(yīng)用程序中,如果能在不影響其功能的前提下合理大量地使用圖形組件,將會(huì)大減少程序?qū)ο到y(tǒng)資源的消耗。 非可視組件是與可視組件相并列的另一類(lèi)組件,非可視組件在程序運(yùn)行中是不可見(jiàn)的(除各種對(duì)話框組件之外,事實(shí)上有人認(rèn)為對(duì)話框組件不能歸入非可視組件,應(yīng)該是另一種介于可視與非可視之間的組件)。 最后要說(shuō)明一下,常說(shuō)的控件實(shí)際上是一種組件。也就是說(shuō)組件這個(gè)概念要大于控件,控件在內(nèi)涵上包含于組件中。控件由 Windows 系列操作系統(tǒng)提出并使用,而組件是 Microsoft 和其它廠商在對(duì) Windows 控件做了必要的擴(kuò)展之后提出來(lái)的概念,它們是在不同時(shí)期由不同的廠商提出的概念 。 數(shù)據(jù)庫(kù)組件介紹 用 開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用,重點(diǎn)是和各種數(shù)據(jù)庫(kù)組件打交道,能和數(shù)據(jù)庫(kù)掛鉤的組件對(duì)象有5 種,它們是: Session(數(shù)據(jù)庫(kù)會(huì)話)、 Database(數(shù)據(jù)庫(kù))、 Dataset(數(shù)據(jù)集)、 DataSource(數(shù)據(jù)源)、 Data control(數(shù)據(jù)控制組件,也叫 datacontrols 即數(shù)據(jù)感知組件)。其中前面 4 種統(tǒng)稱為湖南文理學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 第 2 章 多媒體農(nóng)業(yè)智能應(yīng)用系統(tǒng)平臺(tái)的系統(tǒng)設(shè)計(jì)模型 第 12 頁(yè) 數(shù)據(jù)訪問(wèn)( Data Access)組件。 ADO 組件 包含了可以用來(lái)訪問(wèn) Microsoft 公司的 ActiveX Data Objects( ADO)格式數(shù)據(jù)庫(kù)的組件。 ADO 是 Micrsoft 公司關(guān)于各種類(lèi)型數(shù)據(jù)的高等界面,后來(lái)逐漸演變成滿足所有數(shù)據(jù)訪問(wèn)需要的完整解決辦法。 ADO 的對(duì)象模型是所有數(shù)據(jù)訪問(wèn)接口對(duì)象模型中最簡(jiǎn)單的一種。Microsoft 公司用來(lái)訪問(wèn) ADO 數(shù)據(jù)的應(yīng)用程序界面技術(shù)是 OLE DB。 OLE DB 是一種底層編程接口,用來(lái)訪問(wèn)許多不同類(lèi)型的數(shù)據(jù)源,其中包括消息、文件系統(tǒng)以及其他一些非傳統(tǒng)的數(shù)據(jù)源。OLE DB 是一個(gè)由 Component Object Model( COM)接口 組成的集合,用來(lái)隱藏創(chuàng)建數(shù)據(jù)訪問(wèn)服務(wù)過(guò)程中的細(xì)節(jié)。 OLEDB 提供了訪問(wèn)任何數(shù)據(jù)資源的方法,包括相互關(guān)聯(lián)的數(shù)據(jù)庫(kù)和相互不關(guān)聯(lián)的數(shù)據(jù)庫(kù)、 Email 和文件系統(tǒng)、文本和圖形以及用戶定義的數(shù)據(jù)對(duì)象。 Delphi 的 ADO 組件無(wú)需依靠 BDE 而是使用 ADO 技術(shù),提供了可以通過(guò)數(shù)據(jù)控制組件訪問(wèn)數(shù)據(jù)的新方法。唯一的要求是在使用 ADO 組件時(shí)必須運(yùn)行 ADO/OLE- DB。 ADO 組件的使用使得DELPHI 在訪問(wèn)數(shù)據(jù)的類(lèi)型和采用的技術(shù)方面都有了很大的突破。 數(shù)據(jù)模塊設(shè)計(jì)窗口 數(shù)據(jù)模塊設(shè)計(jì)窗口是用來(lái)設(shè)計(jì)和維護(hù)數(shù)據(jù)模塊的。數(shù)據(jù)模塊設(shè)計(jì)窗 口中包含了所有以 .DTI 作為文件擴(kuò)展名的 Data Diagram 文件的信息。 DTI 文件在編譯時(shí)不起任何作用。 SQL語(yǔ)言在 VB 中的應(yīng)用 在 VB 中使用 SQL 語(yǔ)言非常方便,一般來(lái)說(shuō),都是通過(guò) Tquery 或 TADOquery 組件來(lái)使用SQL 語(yǔ)言的。可以在 Tquery 或 TADOquery 組件的 SQL 屬性中設(shè)置 SQL 語(yǔ)句。設(shè)計(jì)程序時(shí),在該組件的屬性對(duì)話框中選擇 SQL 屬性,單擊帶省略號(hào)的按鈕,就可以打開(kāi) String List Editor 對(duì)話框,然后我們就可以在對(duì)話框中添加 SQL 語(yǔ)句。還可以使用 Delphi 的 SQL Builder 來(lái)自動(dòng)生成SQL 語(yǔ)句,這樣可以避免手工編寫(xiě) SQL 而可能造成的語(yǔ)法錯(cuò)誤。 靜態(tài) SQL 語(yǔ)句在程序設(shè)計(jì)時(shí)便已固定下來(lái),它不包含任何參數(shù)和變量。 動(dòng)態(tài) SQL 語(yǔ)句,也被稱作參數(shù)化的語(yǔ)句,在其中間包含著表示字段名或表名的參數(shù),例如下面的語(yǔ)句是一條動(dòng)態(tài) SQL 語(yǔ)句: Select * From Book Where 圖書(shū)編號(hào) =:bookCode。 其中的變量 bookCode 便是一個(gè)參數(shù)變量,它由一個(gè)冒號(hào)引導(dǎo),在程序運(yùn)行過(guò)程中,必須要為該參數(shù)賦值,該條 SQL 語(yǔ)句才能正確執(zhí)行,每次運(yùn)行應(yīng)用程序時(shí)可以為該參數(shù)變 量賦予不同的值。為參數(shù)賦值有三種方法: ① 根據(jù)參數(shù)在 SQL 語(yǔ)句中出現(xiàn)的順序,設(shè)置 TADOQuery 組件的 parameters 屬性值為參數(shù)賦值。 ② 直接根據(jù) SQL 語(yǔ)句中各參數(shù)的名字,調(diào)用 ParamByName 方法來(lái)為各參數(shù)賦值。 ③ 將 TADOQuery 組件的 DataSource 屬性設(shè)置為另一個(gè)數(shù)據(jù)源,這樣將另一個(gè)數(shù)據(jù)源中與當(dāng)前TADOQuery 組件的 SQL 語(yǔ)句中的參數(shù)名相匹配的字段值賦給其對(duì)應(yīng)的參數(shù)。利用這種方法也能實(shí)現(xiàn)所謂的連接查詢,創(chuàng)建主要 —明細(xì)型數(shù)據(jù)庫(kù)應(yīng)用。 在使用動(dòng)態(tài) SQL 語(yǔ)句編程時(shí),常常用到一個(gè)很重 要的方法 Prepare,調(diào)用 Prepare 方法之后, Delphi會(huì)將帶參數(shù)的 SQL 語(yǔ)句傳送給與其對(duì)應(yīng)的數(shù)據(jù)庫(kù)引擎,對(duì)動(dòng)態(tài) SQL 語(yǔ)句進(jìn)行語(yǔ)法分析和優(yōu)化。雖然在用動(dòng)態(tài) SQL 語(yǔ)句編程時(shí),調(diào)用 Prepare 方法并不是必須的,但是調(diào)用 Prepare 方法后,會(huì)極大地提高動(dòng)態(tài) SQL 語(yǔ)句的執(zhí)行性能,特別是當(dāng)要反復(fù)多次執(zhí)行同一條動(dòng)態(tài) SQL 語(yǔ)句時(shí),其優(yōu)越性會(huì)更加明顯。 如果在應(yīng)用程序中執(zhí)行一條 SQL 語(yǔ)句之前并沒(méi)有顯式地調(diào)用 Prepare 方法,每次在執(zhí)行 SQL 語(yǔ)句時(shí), Delphi 會(huì)隱含地調(diào)用 Prepare 方法以準(zhǔn)備這個(gè)查詢 。 TadoQuery 部件還有一個(gè) Prepare 屬性,這是一個(gè)布爾型屬性,當(dāng)其屬性值為 True 時(shí), 表明該查詢已被準(zhǔn)備好了 ( SQL 語(yǔ)句已被傳送到數(shù)據(jù)庫(kù)引擎中 ) , 當(dāng)我們使用參數(shù)編輯器 Parameters Editor 來(lái)為動(dòng)態(tài) SQL 語(yǔ)句中的參數(shù)賦值時(shí),當(dāng)設(shè)置完相應(yīng)的參數(shù)值并退出參數(shù)編輯器時(shí), VB 會(huì)隱含地調(diào)用 Prepare 方法以準(zhǔn)備好查詢。 當(dāng) SQL 語(yǔ)句執(zhí)行完之后,要想準(zhǔn)備下一個(gè)查詢,首先必須調(diào)用 Close 方法,然后才能調(diào)用 Prepare湖南文理學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 第 2 章 多媒體農(nóng)業(yè)智能應(yīng)用系統(tǒng)平臺(tái)的系統(tǒng)設(shè)計(jì)模型 第 13 頁(yè) 方法準(zhǔn)備下一個(gè)查詢。一般來(lái)說(shuō),在一個(gè)應(yīng)用程序中應(yīng)該調(diào)用一次 Prepare 方法,常常在窗體的OnCreate 事件處理過(guò)程中調(diào)用 Prepare 方法, 然后用上述介紹的方法為參數(shù)賦值,最后調(diào)用 Open方法或 ExecSQL 方法執(zhí)行 SQL 語(yǔ)句,以完成查詢。 當(dāng)然在調(diào)用 Prepare 方法準(zhǔn)備好一個(gè)查詢時(shí),會(huì)消耗一些數(shù)據(jù)庫(kù)資源, 因而每當(dāng)一個(gè)查詢執(zhí)行完畢之后,要養(yǎng)成調(diào)用 UnPrepare 方法以撤消查詢的好習(xí)慣。在運(yùn)行程序過(guò)程中,通過(guò)程序改變TQuery 或 TADOquery 部件的 SQL 屬性值時(shí), Delphi 會(huì)自動(dòng)地調(diào)用 Close 方法和 UnPrepare 方法,以撤消查詢。 在程序運(yùn)行過(guò)程 中,要想設(shè)置 Tquery 或 TADOquery 部件的 SQL 屬性,必須首先調(diào)用 Close 方法,關(guān)閉 TQuery 或 TADOquery 部件,然后再調(diào)用 Clear 方法清除 SQL 屬性中現(xiàn)存的 SQL 命令語(yǔ)句, 最后再調(diào)用 Add 方法為 SQL 屬性設(shè)置新的 SQL 命令語(yǔ)句。例如: 。 。 (39。SELECT 借書(shū)證號(hào) ,密碼 FROM [user] WHERE (借書(shū)證號(hào) = :tt)39。)。 [0].value:=username。 。 在為 TQuery 或 TADOquery 部件設(shè)置 SQL 屬性時(shí)調(diào)用 Close 方法總是很安全的,如果 TQuery 或TADOquery 部件已經(jīng)被關(guān)閉了,調(diào)用 Close 方法時(shí)不會(huì)產(chǎn)生任何影響。在應(yīng)用程序中為 SQL 屬性設(shè)置新的 SQL 命令語(yǔ)句時(shí),必須要調(diào)用 Clear 方法以清除 SQL 屬性中現(xiàn)存的 SQL 命令語(yǔ)句,如果不調(diào)用 Clear 方法,便調(diào)用 Add 方法向 SQL 屬性中設(shè)置 SQL 命令語(yǔ)句,那么新設(shè)置的 SQL命令語(yǔ)句會(huì)追加在現(xiàn)存 SQL 命令語(yǔ)句后面, 在程序運(yùn)行時(shí)常常會(huì)出現(xiàn)出乎意料的查詢結(jié)果甚至程序無(wú)法運(yùn)行下去。 在這里要特別注意的,一般情況下 TQuery 或 TADOquery 部件的 SQL 屬性只能包含一條完整的SQL 語(yǔ)句,它不允許被設(shè)置成多條 SQL 語(yǔ)句。當(dāng)然有些數(shù)據(jù)庫(kù)服務(wù)器也支持在 TQuery 或TADOquery 部件的 SQL 屬性中設(shè)置多條 SQL 語(yǔ)句,只要數(shù)據(jù)庫(kù)服務(wù)器允許這樣,我們?cè)诰幊虝r(shí)可以為 SQL 屬性設(shè)置多條 SQL 語(yǔ)句。 在為 TQuery 或 TADOquery 部件設(shè)置完 SQL 屬性的屬性值之后,也即編寫(xiě)好適當(dāng)?shù)?SQL 程序之后,可以有多種方式來(lái)執(zhí)行 SQL 程序。 在設(shè)計(jì)過(guò)程中,設(shè)置完 TQuery或 TADOquery部件的 SQL 屬性之后將其 Active 屬性的值置為 True, 這樣便可以執(zhí)行 SQL 屬性中的 SQL 程序,如果應(yīng)用中有與 TQuery 或 TADOquery 部件相連的數(shù)據(jù)瀏覽部件 ( 如 TDDGrid TDBEdit 等 )那么在這些數(shù)據(jù)瀏覽部件中會(huì)顯示 SQL 程序的執(zhí)行結(jié)果。 在應(yīng)用程序運(yùn)行過(guò)程中,通過(guò)程序調(diào)用 TQuery 或 TADOquery 組件的 Open 方法或 ExecSQL 方法可以執(zhí)行其 SQL 屬性中的 SQL 程序。 Open 方法和 ExecSQL 方法是不一樣的。 Open 方法只能用來(lái)執(zhí)行 SQL 語(yǔ)言的查詢語(yǔ)句 (Select 命令 ), 并返回一個(gè)查詢結(jié)果集,而 ExecSQL 方法還可以用來(lái)執(zhí)行其它常用的 SQL 語(yǔ)句 (如 INSERT, UPDATE, DELETE 等命令 ),例如: (這樣會(huì)返回一個(gè)查詢結(jié)果集 ) 如果調(diào)用 Open 方法,而沒(méi)有查詢結(jié)果時(shí),會(huì)出錯(cuò)。此時(shí)應(yīng)該調(diào)用 ExecSQL 方法來(lái)代替 Open 方法。如: (沒(méi)有返回結(jié)果 ) 當(dāng)然在設(shè)計(jì)應(yīng)用程序時(shí),程序設(shè)計(jì)人員是無(wú)法確定 TQuery 或 TADOquery 組件中的 SQL 語(yǔ)句是否會(huì)返回一個(gè)查詢結(jié)果的。對(duì)于這種情況應(yīng)當(dāng)用 Try…Except 模塊來(lái)設(shè)計(jì)程序。在 Try 部分調(diào)用Open 方法,而在 Except 部分調(diào)用 ExceSQL 方法,這樣才能保證程序的正確運(yùn)行。 例如: Try 湖南文理學(xué)院畢業(yè)設(shè)計(jì) (論文 ) 第 2 章 多媒體農(nóng)業(yè)智能應(yīng)用系統(tǒng)平臺(tái)的系統(tǒng)設(shè)計(jì)模型 第 14 頁(yè) Except End 通過(guò) Tquery 或 TADOquery 組件可以獲得兩種類(lèi)型的數(shù)據(jù): “活動(dòng) ”的數(shù)據(jù) 這種數(shù)據(jù)就跟通過(guò) TTable 部件 獲得的數(shù)據(jù)一樣,用戶可以通過(guò)數(shù)據(jù)瀏覽部件來(lái)編輯修改這些數(shù)據(jù),并且當(dāng)調(diào)用 Post 方法或當(dāng)焦點(diǎn)離開(kāi)當(dāng)前的數(shù)據(jù)瀏覽部件時(shí),用戶對(duì)數(shù)據(jù)的修改自動(dòng)地被寫(xiě)回到數(shù)據(jù)庫(kù)中。 非活動(dòng)的數(shù)據(jù) (只讀數(shù)據(jù) ) 用戶通過(guò)數(shù)據(jù)瀏覽部件是不能修改其中的數(shù)據(jù)。在缺省情況下,通過(guò) TQuery 部件獲得的查詢結(jié)果數(shù)據(jù)是只讀數(shù)據(jù),要想獲得 “活動(dòng) ”的數(shù)據(jù),在應(yīng)用程序中必須要設(shè)置 Tquery 或 TADOquery 組件的 RequestLive 屬性值為 True,然而并不是在任何情況下 (通過(guò)設(shè)置 RequestLive 的屬值 True)都可以獲得 “活動(dòng) ”的數(shù)據(jù)的 ,要想獲得 “活動(dòng) ”的數(shù)據(jù),除了將 TQuery 部件的 RequestLive 屬性設(shè)置為 True 外,相應(yīng)的 SQL 命令還要滿足以下條件。 本地 SQL 語(yǔ)句查詢情況下,要得到可更新的數(shù)據(jù)集, SQL 語(yǔ)句的限制為: 查詢只能涉及到一個(gè)單獨(dú)的表 SQL 語(yǔ)句中不能包含 ORDER BY 命令 SQL 語(yǔ)句中不能含聚集運(yùn)算符 SUM 或 AVG 在 Select 后的字段列表中不能有計(jì)算字段 在 Select語(yǔ)句 WHERE部分只能包含字段值與常量的比較運(yùn)算,這些比較運(yùn)算符是: Like, ,
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1