VC++60及數(shù)據(jù)庫技術(shù)_第1頁
VC++60及數(shù)據(jù)庫技術(shù)_第2頁
VC++60及數(shù)據(jù)庫技術(shù)_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、VC+6.0及數(shù)據(jù)庫技術(shù)本章主娶闡述運(yùn)用VC+6.0編程語首及SQL數(shù)據(jù)犀技術(shù)開發(fā)中央空調(diào)制掙系統(tǒng)的優(yōu)化軟件。中央京調(diào)制冷系統(tǒng)由制冷機(jī)建模模塊和優(yōu)化模塊組成.是-牛復(fù)雜的非線性多變量強(qiáng)耦合的系統(tǒng),可見選擇系統(tǒng)優(yōu)化技術(shù)是研處的重點(diǎn)之一.通過對編程鍛言的分析可瓶VisualC+6.0,功能非常強(qiáng)大.支持面向?qū)ο缶庈埬K化、代碼可重用、組件共享等技術(shù),可以大大提高軟件系統(tǒng)的設(shè)計(jì)*管理和開發(fā)的速度。因此本文選用VC+6.0技術(shù)來開發(fā)中央空謂制眇系統(tǒng)優(yōu)化軟件的各個(gè)模塊,利用基于對話框模式建立整個(gè)軟件的界面環(huán)境,并利用面向?qū)﹀?MFC)的編程方法,編寫各模塊相應(yīng)的程序代碼,并通過建立大懾的基本模塊來共同組

2、成整個(gè)空調(diào)制冷系統(tǒng)的憂化軟件.3.1VC+6.0技術(shù)VisualC+6.0是一個(gè)功能強(qiáng)大的可視化應(yīng)用稈序開瞪工具.用于Windows環(huán)境T32fe的應(yīng)用程序的開發(fā).屋計(jì)算機(jī)世界公認(rèn)的塩優(yōu)秀的應(yīng)用開發(fā)工具之在提供可視化編程方式的同時(shí),VisualC卄&0也適用編寫貢接對系統(tǒng)進(jìn)行底層操作的程序,牛成代碼的質(zhì)星也優(yōu)于其它的開發(fā)工具.在VisualC卄6.0環(huán)境下#利用Microsoft的基本類庫MFC(MicrosoftFoundationClassLibrary).可以便用完全面向?qū)o的方法來進(jìn)行Windows應(yīng)用程序的開發(fā),使得Windows程序員從大就的境雜勞動(dòng)中解救出來,體會(huì)到真正的

3、程洋語言的強(qiáng)大功能和良好的靈活性。VisualC+6.0的優(yōu)勢有以下幾點(diǎn):(I) 面向?qū)ο蟮某绦蛟O(shè)計(jì)方法的使用VisualC+6.0編程是采用了面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(ObjecUOrientedProgramming,OOP).同傳統(tǒng)的結(jié)構(gòu)設(shè)計(jì)方法相比,它縮短了軟件開發(fā)的周期.提島了軟件的開發(fā)效率.使程序貝可以更好地理解和管理龐大且復(fù)雜的程序.(2) 強(qiáng)大的MFC優(yōu)勢如果使用傳統(tǒng)的Windows編程方法開發(fā)應(yīng)用程序,即使是一個(gè)簡單的Windows應(yīng)用程序也需要對Windows的編程原理有很深刻的認(rèn)識,還耍手工編寫很多代碼,程序的出錯(cuò)率也是隨著代碼長度的增加而呈幾何級數(shù)增長的,這樣一方面增加了

4、調(diào)試工作的困難,另一方面也增加了應(yīng)用程序的不穩(wěn)定性,所以傳統(tǒng)的Windows編程需要具有豐富的編程經(jīng)驗(yàn)。MFC以VisualC+6.0形式封裝了大部分的WindowsAPI來表示框架、窗口、對話框、設(shè)備上下文、公共GDI對象和其它標(biāo)準(zhǔn)的Windows部件。這些類提供了一個(gè)面向Windows結(jié)構(gòu)的簡單的C+成員函數(shù)的接口。應(yīng)用MFC編程有下列優(yōu)點(diǎn):1) MFC提供了一個(gè)標(biāo)準(zhǔn)化的結(jié)構(gòu),使得編程時(shí)極少需要關(guān)心對象方法的實(shí)現(xiàn)細(xì)節(jié),節(jié)省了大量的時(shí)間,提高了程序開發(fā)的效率。2) MFC類庫中的各種對象所提供的強(qiáng)大功能可以完成程序中的絕大部分所需功能,這樣程序員所需要編寫的代碼大為減少,保證了程序具有良好的

5、可調(diào)試性,使應(yīng)用程序在功能和性能兩個(gè)方面滿足要求。3) MFC完全支持Windows所有的函數(shù)、控件、消息、GDI基本圖形函數(shù)、菜單及對話框。4) 使用MFC易學(xué)易用,開發(fā)出的應(yīng)用程序具有標(biāo)準(zhǔn)的、熟悉的Windows界面,還支持所有標(biāo)準(zhǔn)Windows特性。MFC類庫的可靠性很高,不會(huì)影響所開發(fā)程序的可靠性和正確性。(3) 豐富的技術(shù)資源VisualC+6.0中集成了大量的最新技術(shù),如ActiveX、COM等技術(shù),程序開發(fā)人員可以緊緊地把握住軟件開發(fā)技術(shù)發(fā)展的方向,開發(fā)出功能強(qiáng)大的應(yīng)用程序.3.2數(shù)據(jù)庫技術(shù)通過對中央空調(diào)制冷系統(tǒng)的優(yōu)化過程分析可知,需采集系統(tǒng)當(dāng)前運(yùn)行狀態(tài)下的實(shí)際數(shù)據(jù),將其儲(chǔ)存到數(shù)

6、據(jù)庫中,運(yùn)行優(yōu)化軟件時(shí),需到數(shù)據(jù)庫相應(yīng)的表中讀取動(dòng)態(tài)數(shù)據(jù),進(jìn)而實(shí)現(xiàn)對系統(tǒng)運(yùn)行工作點(diǎn)的在線優(yōu)化。本文選用的數(shù)據(jù)庫類型為關(guān)系數(shù)據(jù)庫一一圍繞一些基本的數(shù)據(jù)類型來組織,并且不允許用戶創(chuàng)建新的數(shù)據(jù)類型,這是因?yàn)殛P(guān)系數(shù)據(jù)庫的穩(wěn)定性強(qiáng),存儲(chǔ)錄大,易于開發(fā)出相應(yīng)的應(yīng)用程序,進(jìn)而在開發(fā)空調(diào)制冷系統(tǒng)優(yōu)化軟件時(shí),方便對數(shù)據(jù)庫進(jìn)行管理和操作,并增強(qiáng)了系統(tǒng)的穩(wěn)定性。關(guān)于SQL數(shù)據(jù)庫SQL數(shù)據(jù)庫ftMicrosoft開發(fā)的關(guān)系型數(shù)據(jù)庫,其主要面向大中數(shù)據(jù)庫應(yīng)用??紤]到大多數(shù)PC機(jī)運(yùn)行的都是Microsoft公司W(wǎng)indows系列操作系統(tǒng),本課題選用Microsoft公司的SQLServer2000。SQLServer的常

7、用版本有:企業(yè)版、標(biāo)準(zhǔn)版、個(gè)人版、開發(fā)版。企業(yè)版是專為擁有大量用戶以及實(shí)時(shí)應(yīng)用系統(tǒng)而設(shè)計(jì)的,可以在對稱處理器或者集群計(jì)算機(jī)等高端計(jì)算環(huán)境下進(jìn)行安裝。標(biāo)準(zhǔn)版包括所有數(shù)據(jù)庫功能并且只能在WindowsNT/2000上運(yùn)行.個(gè)人版是針對移動(dòng)電腦或者少帚數(shù)據(jù)庫用戶(一般為50個(gè)左右)使用.開發(fā)版是用于開發(fā)SQLServer2000數(shù)據(jù)庫應(yīng)用程序的編程環(huán)境,它只是一個(gè)開發(fā)環(huán)境,不能用于實(shí)用生產(chǎn)系統(tǒng)*使用。考慮實(shí)際應(yīng)用情況,我們選擇SQLServer2000企業(yè)版來完成我們的數(shù)擁庫系統(tǒng)。MicrosoftSQLServer2000是Microsoft公司開發(fā)的數(shù)據(jù)庫管理系統(tǒng),是一個(gè)功能強(qiáng)大的關(guān)系型數(shù)據(jù)庫管

8、理系統(tǒng)。MicrosoftSQLSever2000作為一種關(guān)系數(shù)據(jù)庫管理系統(tǒng)是在成熟和強(qiáng)大的關(guān)系模型中建立的,關(guān)系模型是當(dāng)前最受歡迎的數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)檢索模型。在系統(tǒng)中成功安裝SQLServer2000后,可以利用SQLServer中的企業(yè)管理器設(shè)計(jì)實(shí)現(xiàn)本課題的數(shù)據(jù)庫.整個(gè)實(shí)施過程為:建立數(shù)堀庫、在己建立的數(shù)據(jù)庫中完成各表的設(shè)計(jì)、設(shè)賈好數(shù)據(jù)庫的關(guān)系.3.2.2SQLServer2000的特點(diǎn)SQLServer2000是一個(gè)杰出的數(shù)據(jù)庫管理系統(tǒng),它在7.0版本的基礎(chǔ)上,又增加了很務(wù)新的特性,具有商性能、奇可靠性和可擴(kuò)充性的特點(diǎn),可用于大型聯(lián)機(jī)事務(wù)處理、數(shù)據(jù)倉庫及電子商務(wù)等領(lǐng)域中。SQLServe2

9、000的主要待點(diǎn)如下:(1) 其正的客戶機(jī)/服務(wù)器體系結(jié)構(gòu)。與WindowsNT完全集成,利用了NT的許多功能。(3) 具有很好的伸縮性,使用的操作系統(tǒng)可從Windows95/98到Windows2000AdvancedServer等。(4) 對Web技術(shù)的支持,使用戶能夠很容易的將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布到Web頁面上.(5) SQLServer提供數(shù)據(jù)倉庫功能,這個(gè)功能只在大型數(shù)據(jù)庫管理系統(tǒng)中才具備.(6) 可在同一臺計(jì)算機(jī)上安裝多個(gè)SQLServer實(shí)例。每一個(gè)實(shí)例有自己的一套系統(tǒng)和用戶數(shù)據(jù)庫。(7) 引入了三種新的數(shù)據(jù)類型.bigint是8B整型;sql_variant類型允許存儲(chǔ)不同數(shù)據(jù)類

10、型的數(shù)據(jù)值;table類型可以將一個(gè)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行存儲(chǔ)。(8) 支持XML(ExtensiveMarkupLanguage*可擴(kuò)展標(biāo)記語言SQLServer2000具有完全的Web功能,支持XML語言,可以檢索、編寫XML數(shù)據(jù)。3.2.3數(shù)據(jù)庫的連接數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成.數(shù)據(jù)庫的建立、使用和維護(hù)等工作只It一個(gè)DBMS(DataBaseManagementSystem,DBMS)遠(yuǎn)遠(yuǎn)不夠,還要有專門的人員來完成,這些人被稱為數(shù)據(jù)庫管理人員(DataBaseAdministrator,簡

11、稱DBA).數(shù)據(jù)庫系統(tǒng)的特點(diǎn)如下:(1) 數(shù)據(jù)機(jī)構(gòu)化在文件系統(tǒng)中,相互獨(dú)立的文件記錄內(nèi)部是有結(jié)構(gòu)的,但記錄之間沒有聯(lián)系.»據(jù)庫系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化,是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別.(2) 數(shù)據(jù)共享性商、兀余度低、易擴(kuò)充數(shù)據(jù)庫從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)不再面向某個(gè)應(yīng)用而是面向整個(gè)系統(tǒng),因此數(shù)據(jù)可以被多個(gè)用戶、多個(gè)應(yīng)用共享使用。數(shù)據(jù)共享可以減少數(shù)據(jù)冗余.節(jié)約存儲(chǔ)空間.數(shù)據(jù)共享還能夠避免數(shù)據(jù)之間的不相容性與不一致性。所謂數(shù)據(jù)的不一致性是指同一數(shù)據(jù)不同拷貝的值不一樣。人工管理和文件管理由于數(shù)據(jù)被電復(fù)存儲(chǔ),當(dāng)不同的應(yīng)用使用和修改不同的拷貝時(shí)就很容易造成數(shù)據(jù)的

12、不一致性。數(shù)抿庫系統(tǒng)彈性大,易于擴(kuò)充。(3) 數(shù)據(jù)獨(dú)立性高數(shù)據(jù)獨(dú)立性是數(shù)據(jù)庫領(lǐng)域中的一個(gè)常用術(shù)語,包括數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性。物理獨(dú)立性是指用戶的應(yīng)用程序與存儲(chǔ)在砒盤數(shù)據(jù)庫中的數(shù)據(jù)是相互獨(dú)立的。也就是說,數(shù)據(jù)在磁盤上的數(shù)據(jù)庫中怎樣存儲(chǔ)是有DBMS管理的,用戶程序不需要了解,應(yīng)用程序要處理的只是數(shù)據(jù)的邏輯結(jié)構(gòu),這樣當(dāng)數(shù)據(jù)的物理存儲(chǔ)改變時(shí).應(yīng)用程序不用改變。邏輯獨(dú)立性是指用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨(dú)立的,也就是說,數(shù)據(jù)的邏輯結(jié)構(gòu)改變了,用戶程序也町以不變。數(shù)據(jù)獨(dú)立性是由DBMS的二級映像功能來保證的。(4) 數(shù)據(jù)由DBMS統(tǒng)一管理和控制數(shù)據(jù)庫的共享是并發(fā)的共享,即多個(gè)用戶可以同時(shí)

13、存取數(shù)據(jù)庫中的數(shù)據(jù)甚至可以同時(shí)存取數(shù)據(jù)庫中同一數(shù)據(jù)。為此,DBMS還必須提供以下幾方面的數(shù)據(jù)控制功能.1) 數(shù)抵的安全性保護(hù):數(shù)據(jù)的安全性是指保護(hù)數(shù)露以防止不合法的使用造成數(shù)據(jù)的泄密和損壞.使每個(gè)用戶只能按規(guī)定,對某些數(shù)據(jù)以某些方式使用和處理.2) 數(shù)據(jù)的完整性檢査:數(shù)據(jù)的完整性指數(shù)據(jù)的正確性、有效性和相容性.3) 并發(fā)控制:當(dāng)多個(gè)用戶的并發(fā)進(jìn)程同時(shí)存取、修改數(shù)據(jù)庫時(shí),可能會(huì)發(fā)生相互干擾而得到錯(cuò)誤的結(jié)果或使得數(shù)據(jù)庫的完整性遭到破壞,因此必須對多用戶的并發(fā)操作加以控制和協(xié)調(diào)。3.3VisualC卄6.0開發(fā)數(shù)據(jù)庫由于本文選用了V0+6.0技術(shù)開發(fā)系統(tǒng)的優(yōu)化軟件,對該軟件包來說,最適合的數(shù)據(jù)庫為S

14、QLServer,運(yùn)用VC+6.0可供用戶方便、快捷地開發(fā)新的SQLServer應(yīng)用程序。3.3.1VisualC+6.0開發(fā)數(shù)據(jù)庫技術(shù)的特點(diǎn)VC卄提供了多種多樣的數(shù)據(jù)庫訪問技術(shù)一ODBCAPI、MFCODBC、DAO、OLEOB和ADO等。這些技術(shù)各有自己的特點(diǎn),提供了簡單、靈活、訪問快速、擴(kuò)展性好的服務(wù)特性.(1)簡單性:VisualC+中提供了MFC類庫、ATL模板類以及AppWizard、ClassWizard等一系列的Wizard工具用于幫助用戶快速的建立自己的應(yīng)用程序,大大簡化了應(yīng)用程序的設(shè)計(jì)。使用這些技術(shù),開發(fā)者編寫很少的代碼或不編寫代碼就可以開發(fā)出一個(gè)數(shù)據(jù)庫應(yīng)用程序。(2) 靈

15、活性:VisualC卄提供的開發(fā)壞境,可以是開發(fā)者根據(jù)自己大的需要設(shè)計(jì)應(yīng)用程序的界面和功能,而且,VisualC-h-提供了豐富的類庫和方法,可以使開發(fā)者根據(jù)自己的需求進(jìn)行設(shè)計(jì).(3) 訪問速度快:為了解決ODBC開發(fā)的數(shù)據(jù)庫應(yīng)用程序訪何數(shù)據(jù)庫速度慢的問題,VisualC+提供了新的訪問技術(shù)LEDB和ADO.OLEDB和ADO都咼基于COM接口的技術(shù),使用這種技術(shù)可以直接對數(shù)據(jù)庫的驅(qū)動(dòng)程序進(jìn)行訪問,大大提高了訪問速度.(4) 可擴(kuò)展性:VisualC卄提供了OLE技術(shù)和ActiveX技術(shù),這種技術(shù)可以增強(qiáng)應(yīng)用程序的能力.通過OLE技術(shù)和ActiveX技術(shù),可以使開發(fā)者利用VisualC卄中提供

16、的各種組件、控件、以及第三方開發(fā)者提供的組件來創(chuàng)建自己的程序,從而實(shí)現(xiàn)應(yīng)用程序的組件化。(5) 訪問不同種類數(shù)據(jù)源:傳統(tǒng)的ODBC技術(shù)只能訪問關(guān)系型數(shù)據(jù)庫,在VisualC卄中,提供了OLEDB訪問技術(shù),不僅可以訪問關(guān)系型數(shù)據(jù)庫,還可以訪問非關(guān)系型數(shù)拡庫。用MFC來創(chuàng)建ODBC從功能簡單的數(shù)據(jù)庫(如JetEngine)到復(fù)雜的大型數(shù)據(jù)庫系統(tǒng)(如OraJce),VC+6.0都提供了編程接口,例如:ODBCAPI、MFCODBC類、MFCDAO類(數(shù)據(jù)訪問對象)、MFC的OLEDB和ActiveX數(shù)據(jù)對象(ADO)。本課題選用MFC來創(chuàng)建ODBC的應(yīng)用程序,卜面介紹ODBC數(shù)據(jù)源及數(shù)據(jù)庫的連接與訪

17、問技術(shù)。(l)ODBC數(shù)據(jù)源的定義ODBC(OpenDataBaseConnectivity)是客戶應(yīng)用程序訪問關(guān)系數(shù)據(jù)庫時(shí)提供的一個(gè)統(tǒng)一的接口,對于不同的數(shù)據(jù)庫,ODBC提供了一套統(tǒng)一的API,使應(yīng)用程序可以應(yīng)用所提供的API來訪問任何提供了ODBC驅(qū)動(dòng)的數(shù)據(jù)庫,并且,ODBC已經(jīng)成為-種標(biāo)準(zhǔn),目就所有的關(guān)系數(shù)據(jù)庫都提供了0DBC馳動(dòng)程序,這使ODBC的應(yīng)用非常廣泛,基本上可用于所有的關(guān)系數(shù)據(jù)庫.但由于ODBC只能用于關(guān)系數(shù)據(jù)庫,使得利用ODBC很難訪問對象數(shù)據(jù)庫及其他非關(guān)系數(shù)據(jù)庫.由于ODBC是一種底層的訪問技術(shù),因此,ODBCAPI可以使客戶應(yīng)用程序能夠從底層設(shè)置和控制數(shù)據(jù)庫,完成一些高

18、層數(shù)據(jù)庫技術(shù)無法完成的功能.從計(jì)算機(jī)控制面板里的管理工具進(jìn)入ODBC數(shù)據(jù)源管理器,在數(shù)據(jù)源管理器中定義用戶DSN,添加數(shù)據(jù)源的驅(qū)動(dòng)程序,然后將已經(jīng)創(chuàng)建的數(shù)據(jù)源添加到管理器的用戶數(shù)據(jù)源列表中,ODBC數(shù)據(jù)源就被定義好了,于超用戶就可以在程序中訪問到此數(shù)據(jù)源。(2)數(shù)據(jù)庫的連接與訪問利用MFCAppWizard(exe)來創(chuàng)建支持?jǐn)?shù)抵庫的應(yīng)用程序SDI,在創(chuàng)建向?qū)У牡诙街羞x擇好已經(jīng)創(chuàng)建好的數(shù)據(jù)源表,于是就可以創(chuàng)建一個(gè)訪問數(shù)據(jù)庫的應(yīng)用程序.在CRecordSet類中定義了一個(gè)成員變量m_pDatabase:CDatabase*mjpDatab-ase.它是指向?qū)r(nóng)數(shù)據(jù)庫類的指針.如果在CRecordSet類對象調(diào)用Open。函數(shù)之詢,將一個(gè)已經(jīng)打開的CDatabase類對象指針傳給m_pDatabase,就能共享相同的CDatabase類對氣杳詢記彖:杳詢記錄使用CRecordSet:Open()和CRecordSet:Requery()成員函數(shù)。增加記錄:增加記湫使用AddNe

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論