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

正文內(nèi)容

基于cs模式的人事工資管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)【畢業(yè)設(shè)計(jì)論文】(編輯修改稿)

2025-04-03 09:20 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 快速應(yīng)用開(kāi)發(fā))工具 ,這類工具的最大特點(diǎn)就是可視化的設(shè)計(jì)窗體以及能為窗體添加各種組件。此外 ,Delphi的編輯 器除了具有一般代碼編輯器的功能外 ,它的 Code Insight 技術(shù)省卻了很多人工輸入麻煩 ,是一項(xiàng)重要的創(chuàng)新。 ( 2)高效率的編譯器 Delphi 的編譯器建立在 Pascal 編譯器的基礎(chǔ)上 ,可以說(shuō)是針對(duì) Windows 的最快的高級(jí)語(yǔ)言本地代碼編譯器。由于有編譯器的速度作保證 ,程序員可以經(jīng)常修改代碼 ,提高了開(kāi)發(fā)效率 ,Delphi的編譯器不僅便宜速度快 ,而且生成的二進(jìn)制代碼短小 ,運(yùn)行效率很高。 ( 3)結(jié)構(gòu)良好的編程語(yǔ)言 Delphi 采用了 Object Pascal 作為它的編程語(yǔ)言。 Pascal 本身是一種結(jié)構(gòu)優(yōu)良的語(yǔ)言 ,Pascal編譯器的高效性也部分得益于此。 Object Pascal語(yǔ)言在早期 Pascal語(yǔ)言的基礎(chǔ)上擴(kuò)展了面向?qū)ο蟮墓δ?,而且很好的把握了復(fù)雜性和功能性的平衡 ,滿足了現(xiàn)代程序開(kāi)發(fā)的需要。 ( 4)對(duì)數(shù)據(jù)庫(kù)的靈活支持 Delphi對(duì)數(shù)據(jù)庫(kù)的支持是它的一個(gè)突出優(yōu)點(diǎn) ,對(duì)于開(kāi)發(fā)數(shù)據(jù)庫(kù)程序 ,Delphi是第一選擇。它可以滿足基于本地、客戶 /服務(wù)器和 ODBC 數(shù)據(jù)庫(kù)平臺(tái)的應(yīng)用程序的各種需要 ,而且異常方便、高效。近來(lái)更是加強(qiáng)了對(duì)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的支持。 ( 5)層次清晰和可伸縮的框架 在大家有了一定的程序開(kāi)發(fā)經(jīng)驗(yàn)后就知道 ,對(duì)于一 個(gè)開(kāi)發(fā)工具來(lái)說(shuō) ,只有好的開(kāi)發(fā)環(huán)境和編程語(yǔ)言是不夠的 ,還需要有強(qiáng)大的類庫(kù)和組件庫(kù)來(lái)支持程序員的開(kāi)發(fā)。 Delphi在這方面做得非常好 , 從開(kāi)始的 VCL( Visual Component Library)到現(xiàn)在的 CLX(Component Library for CrossPlatform),不僅功能強(qiáng)大 ,結(jié)構(gòu)可以擴(kuò)展 ,而且層次清晰 ,符合編程人員的直觀想法 ,使用起來(lái)方便。 3 、 Delphi 控件 用 Delphi 開(kāi)發(fā)數(shù)據(jù)庫(kù)應(yīng)用,重點(diǎn)是和各種數(shù)據(jù)庫(kù)組件打交道,當(dāng)然也要使用其它的一些組件,本節(jié)只對(duì)重要的 幾個(gè)組件給與介紹。 6 ( 1) ADO 數(shù)據(jù)訪問(wèn)組件 ADO 數(shù)據(jù)對(duì)象 (Active Data Objects)實(shí)際是一種提供訪問(wèn)各種數(shù)據(jù)類型的鏈接機(jī)制 [2]。 ADO設(shè)計(jì)為一種極簡(jiǎn)單的格式,通過(guò) ODBC 的方法同數(shù)據(jù)庫(kù)接口中,可以使用任何一種 ODBC 數(shù)據(jù)源,即不止適合于 SQL Server、 Oracle、 Access 等數(shù)據(jù)庫(kù)應(yīng)用程序,也適合于 Excel表格、文本文件、圖形文件和無(wú)格式的數(shù)據(jù)文件。 ADO 是基于 OLEDB 之上的技術(shù),因此 ADO 通過(guò)其內(nèi)部的屬性和方法提供統(tǒng)一的數(shù)據(jù)訪問(wèn)接口方法。 ADO 使您的客戶端應(yīng)用程序能夠通過(guò)OLEDB 提供訪問(wèn)和操作在數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)。 ADO 支持用于建立 C/S 和 Web 的應(yīng)用程序的主要功能。其主要優(yōu)點(diǎn)是易于使用、高速度、低內(nèi)存支出和占用磁盤(pán)空間較少。 ADO 同時(shí)具有遠(yuǎn)程數(shù)據(jù)服務(wù) (RDS)功能,通過(guò) RDS 可以在一次往返過(guò)程中實(shí)現(xiàn)將數(shù)據(jù)從服務(wù)器移動(dòng)到客戶端應(yīng)用程序和 Web 頁(yè)、在客戶端對(duì)數(shù)據(jù)進(jìn)行處然后將更新結(jié)果返回服務(wù)器的操作。 Delphi 繼續(xù)對(duì) Microsoft 的 ADO 訪問(wèn)能力的支持。這種能力是通過(guò)一組新組件實(shí)現(xiàn)的,這些組件是 ADO 組件頁(yè)中,在組件面版的 ADO 頁(yè)上可以找到這些組件。利用在前面 章節(jié)提到的 TdataSet 抽象類, ADO 組件可以不通過(guò) BDE 而直接實(shí)現(xiàn) ADO 連接。這意味著只需要很少的代碼就可以實(shí)現(xiàn)該連接并且性能得到提高。 利用 ADO 數(shù)據(jù)訪問(wèn)組件,可以只使用 ADO 結(jié)構(gòu)與數(shù)據(jù)庫(kù)取得聯(lián)系并對(duì)其中的數(shù)據(jù)進(jìn)行操作,而在這些過(guò)程中完全不需要使用 BDE。大多數(shù)的 ADO 連接和數(shù)據(jù)集組件都是與基于 BDE的連接和數(shù)據(jù)集組件相類似的。 TADO Connection 組件與基于 BDE 的應(yīng)用程序中的 TDataBase組件類似。 TADO Table 與 TTable, TADO Query 與 TQuery,以及 TADO Store Proc和 TStored Proc之間都具有這種類似的對(duì)應(yīng)關(guān)系。使用這些 ADO 組件的方式與我們常使用的數(shù)據(jù)訪問(wèn)組件(基于 BDE)都有許多相同之處。 TADO Data Set 沒(méi)有直接的 BDE 對(duì)應(yīng)組件,但它提供了許多與TTable 和 TQuery 相同的功能。同樣, TADO Command 也沒(méi)有相對(duì)應(yīng)的 BDE 組件,它是在Delphi/ADO 環(huán)境中完成特定功能的組件。 通過(guò) ADO 數(shù)據(jù)集訪問(wèn)組件,可以不借助BDE 數(shù)據(jù)引擎而是通過(guò)微軟的 OLEDB 來(lái)訪問(wèn)更為廣泛的數(shù)據(jù)庫(kù)中的數(shù)據(jù)。 ADO 數(shù)據(jù)集訪問(wèn)組件與常用的數(shù)據(jù)訪問(wèn)組件是并列的關(guān)系。 ( 2)數(shù)據(jù)控制類 Data Control 數(shù)據(jù)控制類負(fù)責(zé)數(shù)據(jù)庫(kù)數(shù)據(jù)的顯示,并把用戶對(duì)數(shù)據(jù)的修改傳回。這里的絕大多數(shù)組件,如 DBText, DBEdit, DBMemo, DB Image, DBListBox, DBComboBox, DBCheckBox, DBRadioGroup, DBLookupListBox, DBLookupCombox, DBCtrGrid 的功能和對(duì)應(yīng)的非數(shù)據(jù)感知 7 組件相同,如 TEdit 框, TRadio Groups 單選按鈕組等,只不過(guò)在顯 示數(shù)據(jù)庫(kù)數(shù)據(jù)時(shí)要用而已。 在系統(tǒng)中主要使用數(shù)據(jù)網(wǎng)格控件 DB Grid 和數(shù)據(jù)庫(kù)導(dǎo)航器控件 DB Navigator。 ( 3)數(shù)據(jù)訪問(wèn)類 Data Access 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)中數(shù)據(jù)訪問(wèn)是一個(gè)首要問(wèn)題,都必須聯(lián)系一些數(shù)據(jù)庫(kù)和數(shù)據(jù)表文件。 提供了專門用于數(shù)據(jù)訪問(wèn)的基類控件。主要包括數(shù)據(jù)源控件 Data Source、客戶數(shù)據(jù)集控件 Client Data Set、數(shù)據(jù)集提供器控件 Data Set Provider 等等。 TDataBase:當(dāng)一個(gè)基于 BDE 的數(shù)據(jù)庫(kù)應(yīng)用程序需要一個(gè)永久數(shù)據(jù)庫(kù)連接時(shí),需要定制 向一個(gè)數(shù)據(jù)庫(kù)服務(wù)器的連接時(shí),需要事務(wù)控制和特殊的數(shù)據(jù)庫(kù)別名時(shí)就得用到 TDataBase 對(duì)象。特別是當(dāng)連接到一個(gè)遠(yuǎn)程的 SQL 數(shù)據(jù)庫(kù)服務(wù)器時(shí),如果要利用 BDE 進(jìn)行數(shù)據(jù)庫(kù)事務(wù)處理,那么, TDataBase 對(duì)象的威力就體現(xiàn)出來(lái)了。在一個(gè)應(yīng)用程序中為每一個(gè)數(shù)據(jù)庫(kù)連接顯示的聲明TDataBase 對(duì)象要根據(jù)需要而定,不是必需的。對(duì)一個(gè)數(shù)據(jù)庫(kù)連接,如果沒(méi)有顯示的聲明并實(shí)例化 TDataBase 對(duì)象,系統(tǒng)就會(huì)產(chǎn)生一個(gè)帶有默認(rèn)屬性的 TDataBase 對(duì)象。 Tdata Source 對(duì)象用于在 Data Set 對(duì)象(包括 Tquery,TStored Proc,Ttable 等)和數(shù)據(jù)感知組件之間提供一個(gè)連接的紐帶,以便在窗體上顯示數(shù)據(jù)庫(kù)中的數(shù)據(jù),在數(shù)據(jù)庫(kù)中導(dǎo)航定位與編輯數(shù)據(jù)集中的數(shù)據(jù)。如果一個(gè) Data Set 對(duì)象中的數(shù)據(jù)想在數(shù)據(jù)感知組件中顯示和修改,它就必須和 Tdata Source 對(duì)象相聯(lián)系。同樣,一個(gè)數(shù)據(jù)感知組件如果想和數(shù)據(jù)源相聯(lián)系以便顯示和操縱數(shù)據(jù),就必須以 TData Source 對(duì)象為中介。 用 Delphi 作數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)概括來(lái)說(shuō)如下:先利用數(shù)據(jù)存取組件和實(shí)際的數(shù)據(jù)庫(kù)建立連接,并用 TSession 對(duì)象和 TDataBase 對(duì)象管理這些連接。然后以 TDataSource 對(duì)象為中介,用數(shù)據(jù)感知組件向用戶顯示數(shù)據(jù)庫(kù)的內(nèi)容并接受用戶的查詢和修改等操作。 ( 4) SQL 語(yǔ)言在 Delphi中的應(yīng)用 在 Delphi中使用 SQL 語(yǔ)言非常方便,一般來(lái)說(shuō),都是通過(guò) Tquery 組件來(lái)使用 SQL語(yǔ)言的??梢栽?TQuery 組件的 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) 8 態(tài) SQL 語(yǔ)句: Select * From Students Where StudentCode=:StudentCode。 其中的變量 StudentCode 便是一個(gè)參數(shù)變量,它由一個(gè)冒號(hào)引導(dǎo),在程序運(yùn)行過(guò)程中,必須要為該參數(shù)賦值,該條 SQL 語(yǔ)句才能正確執(zhí)行,每次運(yùn)行 應(yīng)用程序時(shí)可以為該參數(shù)變量賦予不同的值。為參數(shù)賦值有三種方法: 1)根據(jù)參數(shù)在 SQL 語(yǔ)句中出現(xiàn)的順序,設(shè)置 TQuery 部件的 Params 屬性值為參數(shù)賦值。 2)直接根據(jù) SQL 語(yǔ)句中各參數(shù)的名字,調(diào)用 ParamByName 方法來(lái)為各參數(shù)賦值。 3)將 TQuery 部件的 Data Source 屬性設(shè)置為另一個(gè)數(shù)據(jù)源,這樣將另一個(gè)數(shù)據(jù)源中與當(dāng)前TQuery 部件的 SQL 語(yǔ)句中的參數(shù)名相匹配的字段值賦給其對(duì)應(yīng)的參數(shù)。利用這種方法也能實(shí)現(xiàn)所謂的連接查詢,創(chuàng)建主要 —明細(xì)型數(shù)據(jù)庫(kù)應(yīng)用。 在程序運(yùn)行過(guò)程中,要想設(shè)置 TQuery 部件的 SQL 屬性,必須首先調(diào)用 Close 方法,關(guān)閉TQuery 部件,然后再調(diào)用 Clear 方法清除 SQL 屬性中現(xiàn)存的 SQL 命令語(yǔ)句,最后再調(diào)用 Add方法為 SQL 屬性設(shè)置新的 SQL 命令語(yǔ)句。例如: {關(guān)閉 Query1) {清除 SQL 屬性中的 SQL 命令語(yǔ)句 } (?Select*From Students?)。 (?Where Name=Lucy?)。 在為 TQuery 部件設(shè)置 SQL 屬性時(shí)調(diào)用 Close 方法總是很安全的,如果 TQuery 部件已經(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部件的 SQL屬性只能包含一條完整的 SQL語(yǔ)句,它不允許被設(shè)置成多條 SQL 語(yǔ)句。當(dāng)然有些數(shù)據(jù)庫(kù)服務(wù)器也支持在 TQuery 部件的 SQL 屬性中設(shè)置多條 SQL 語(yǔ)句,只要數(shù)據(jù)庫(kù)服務(wù)器允許這樣,我們?cè)诰幊虝r(shí)可以為 SQL 屬性設(shè)置多條 SQL語(yǔ)句。 在為 TQuery 部件設(shè)置完 SQL 屬性的屬性值之后,也即編寫(xiě)好適當(dāng)?shù)?SQL 程序之后,可以 9 有多種方式來(lái)執(zhí)行 SQL 程序。 在設(shè)計(jì)過(guò)程中,設(shè)置完 TQuery 部件的 SQL 屬性之后將其 Active 屬性的值置為 True,這樣便可以執(zhí)行 SQL 屬性中的 SQL 程序,如果應(yīng)用中有與 TQuery 部件相連的數(shù)據(jù)瀏覽部件 (如TDBGrid, TDBEdit 等 )那么在這些數(shù) 據(jù)瀏覽部件中會(huì)顯示 SQL 程序的執(zhí)行結(jié)果。 在應(yīng)用程序運(yùn)行過(guò)程中,通過(guò)程序調(diào)用 TQuery 部件的 Open 方法或 Excel SQL 方法可以執(zhí)行其 SQL 屬性中的 SQL 程序。 Open 方法和 Excel SQL 方法是不一樣的。 Open 方法只能用來(lái)執(zhí)行 SQL 語(yǔ)言的查詢語(yǔ)句 (Select 命令 ),并返回一個(gè)查詢結(jié)果集,而 Excel SQL 方法還可以用來(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)用 Excel SQL 方法來(lái)代替Open 方法。如: (沒(méi)有返回結(jié)果 ) 當(dāng)然在設(shè)計(jì)應(yīng)用程序時(shí),程序設(shè)計(jì)人員是無(wú)法確定 TQuery 部件中的 SQL 語(yǔ)句是否會(huì)返回一個(gè)查詢結(jié)果的。對(duì)于這種情況應(yīng)當(dāng)用 Try…Except 模塊來(lái)設(shè)計(jì)程序。在 Try 部分調(diào)用 Open 方法,而在 Except 部分調(diào)用 Excel SQL 方法,這樣才能保證程序的正確運(yùn)行。 Delphi 中用 ADO Query 來(lái)使用 SQL 語(yǔ)句同樣十分方便。在 ADO Query 組件中首先通過(guò)Connection String屬性 值來(lái)聯(lián)接數(shù)據(jù)源,然后就通過(guò)雙擊 SQL屬性值來(lái)寫(xiě)入 SQL 語(yǔ)句。在 Delphi中調(diào)用數(shù)據(jù)庫(kù),就可以調(diào)用 ADO Query 組件,通過(guò)修改其中的 SQL 屬性中的 SQL 語(yǔ)句來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的各項(xiàng)操作。 值得注意的是, ADO Query 組件只有在激活的情況下才可以被正確地使用,這樣就提出了一個(gè)問(wèn)題,也就是說(shuō),在每次修改 ADO Query 組件的 SQL 屬性時(shí)都必須先行進(jìn)行關(guān)閉,待清除掉 SQL 中所有的 SQL 語(yǔ)句后才可以添加新的 SQL 語(yǔ)句。而且,在每一次修改完成以后,還應(yīng)該記得重新將 ADO Query 激活。其它的使用方法與 TQuery 有許多的相似之處。 SQL Server 2021 介紹 SQL Server 2021[3]是 Microsoft 公司推出的 SQL Server 數(shù)據(jù)庫(kù)管理系統(tǒng)的最新版本,該版本繼承了 SQL Server 版本的優(yōu)點(diǎn),同時(shí)又比它增加了許多更先進(jìn)的功能,具有使用方
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1