排隊(duì)系統(tǒng)的仿真與應(yīng)用讀書(shū)報(bào)告.doc_第1頁(yè)
排隊(duì)系統(tǒng)的仿真與應(yīng)用讀書(shū)報(bào)告.doc_第2頁(yè)
排隊(duì)系統(tǒng)的仿真與應(yīng)用讀書(shū)報(bào)告.doc_第3頁(yè)
排隊(duì)系統(tǒng)的仿真與應(yīng)用讀書(shū)報(bào)告.doc_第4頁(yè)
排隊(duì)系統(tǒng)的仿真與應(yīng)用讀書(shū)報(bào)告.doc_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1讀書(shū)報(bào)告基于VisualC+6.0的數(shù)據(jù)庫(kù)的連接與操作計(jì)算機(jī)0101班12號(hào)須明烽為按時(shí)保質(zhì)保量地完成本次畢業(yè)設(shè)計(jì),我進(jìn)行了充分的準(zhǔn)備。因?yàn)橛肰isualC+6.0開(kāi)發(fā)系統(tǒng)相對(duì)較難,具有挑戰(zhàn)性,所以選擇VC作為本次畢業(yè)設(shè)計(jì)的開(kāi)發(fā)環(huán)境。在選定開(kāi)發(fā)環(huán)境為VC以后,我到圖書(shū)館借閱了相關(guān)技術(shù)書(shū)籍,主要有設(shè)計(jì)模式、MFC深入淺出、MFC開(kāi)發(fā)人員指南、VisualC+圖形用戶(hù)界面開(kāi)發(fā)指南、VC+編程技術(shù)與難點(diǎn)剖析、VisualC+實(shí)效編程百例、VisualC+6.0高級(jí)編程范例、VisualC+技術(shù)內(nèi)幕、VisualC+數(shù)據(jù)庫(kù)開(kāi)發(fā)基礎(chǔ)及實(shí)例解析、VisualC+6.0數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例、VisualC+6.0數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)實(shí)例導(dǎo)航等。此外,我還借閱了有關(guān)排隊(duì)系統(tǒng)的書(shū)籍,像建模與仿真、預(yù)測(cè)與決策技術(shù)等。在此之前我已經(jīng)進(jìn)行了VC在API編程方面的研究,為MFC編程打下了基礎(chǔ)。根據(jù)畢業(yè)設(shè)計(jì)的具體要求,我著重在VC數(shù)據(jù)庫(kù)開(kāi)發(fā)談一下我的所學(xué)所想看法及其感受。信息管理系統(tǒng)(ManagementInformationSystem,MIS)通常是自有任何計(jì)算機(jī)設(shè)備或其它信息處理技術(shù)組成并用于管理信息的系統(tǒng)。所有的信息管理系統(tǒng)中待處理的信息均是來(lái)自第一手的原始資料,通常來(lái)源分散、數(shù)據(jù)量龐大、而且多有時(shí)間局限性。信息管理系統(tǒng)的重要作用之一,是對(duì)信息進(jìn)行管理并在此基礎(chǔ)上為使用者提供各種形式的幫助。對(duì)信息的管理通常由信息的采集、信息的傳輸、信息的存儲(chǔ)、信息的加工、信息的維護(hù)和使用五個(gè)方面組成。管理信息的各個(gè)組成部分如果按一定的規(guī)則相互聯(lián)系、相互作用并形成具有一定功能的整體,就構(gòu)成了信息管理系統(tǒng)。一個(gè)數(shù)據(jù)庫(kù)應(yīng)用程序在邏輯上通常由數(shù)據(jù)訪問(wèn)鏈路和用戶(hù)界面兩部分組成。在設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用程序的時(shí)候,通常要把數(shù)據(jù)訪問(wèn)鏈路構(gòu)件和用戶(hù)界面構(gòu)件分開(kāi),數(shù)據(jù)訪問(wèn)構(gòu)件均放置在數(shù)據(jù)模塊上。數(shù)據(jù)模塊主要用來(lái)實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)鏈路,也就是引入數(shù)據(jù)集。其體系結(jié)構(gòu)模型如圖所示:常用的數(shù)據(jù)庫(kù)開(kāi)發(fā)技術(shù)有ODBC(OpenDatabaseConnectivity,開(kāi)放數(shù)據(jù)庫(kù)互連)、DAO(DataAccessObject,數(shù)據(jù)訪問(wèn)對(duì)象)、OLEDB(ObjectLinkandEmbeddingDatabase,對(duì)象連接與嵌入數(shù)據(jù)庫(kù))和ADO(ActiveXDataObject,ActiveX數(shù)據(jù)對(duì)象)等幾種。(1)ODBC是一種使用SQL的程序設(shè)計(jì)接口。使用ODBC讓?xiě)?yīng)用程序的編寫(xiě)者避免了與數(shù)據(jù)源相聯(lián)的復(fù)雜性。這項(xiàng)技術(shù)目前已經(jīng)得到了大多數(shù)DBMS廠商們的廣泛支持。MicrosoftDeveloperStudio為大多數(shù)標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)格式提供了32位ODBC驅(qū)動(dòng)器。這些標(biāo)準(zhǔn)數(shù)據(jù)格式包括有:SQLServer、Access、Paradox、dBase、FoxPro、Excel、Oracle以及MicrosoftText。如果用窗體數(shù)據(jù)模塊數(shù)據(jù)庫(kù)引擎客戶(hù)數(shù)據(jù)集數(shù)據(jù)源用戶(hù)界面數(shù)據(jù)庫(kù)2戶(hù)希望使用其他數(shù)據(jù)格式,用戶(hù)需要相應(yīng)的ODBC驅(qū)動(dòng)器及DBMS。用戶(hù)使用自己的DBMS數(shù)據(jù)庫(kù)管理功能生成新的數(shù)據(jù)庫(kù)模式后,就可以使用ODBC來(lái)登錄數(shù)據(jù)源。對(duì)用戶(hù)的應(yīng)用程序來(lái)說(shuō),只要安裝有驅(qū)動(dòng)程序,就能注冊(cè)很多不同的數(shù)據(jù)庫(kù)。登錄數(shù)據(jù)庫(kù)的具體操作參見(jiàn)有關(guān)ODBC的聯(lián)機(jī)幫助。(2)ADO是Microsoft為最新和最強(qiáng)大的數(shù)據(jù)訪問(wèn)范例OLEDB而設(shè)計(jì)的,是一個(gè)便于使用的應(yīng)用程序?qū)咏涌?。ADO使您能夠編寫(xiě)應(yīng)用程序以通過(guò)OLE.DB提供者訪問(wèn)和操作數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)。ADO最主要的優(yōu)點(diǎn)是易于使用、速度快、內(nèi)存支出少和磁盤(pán)遺跡小。ADO在關(guān)鍵的應(yīng)用方案中使用最少的網(wǎng)絡(luò)流量,并且在前端和數(shù)據(jù)源之間使用最少的層數(shù),所有這些都是為了提供輕量、高性能的接口。之所以稱(chēng)為ADO,是用了一個(gè)比較熟悉的暗喻,OLE自動(dòng)化接口。(3)OLEDB是一組”組件對(duì)象模型”(COM)接口,是新的數(shù)據(jù)庫(kù)低層接口,它封裝了ODBC的功能,并以統(tǒng)一的方式訪問(wèn)存儲(chǔ)在不同信息源中的數(shù)據(jù)。OLEDB是MicrosoftUDA(UniversalDataAccess)策略的技術(shù)基礎(chǔ)。OLEDB為任何數(shù)據(jù)源提供了高性能的訪問(wèn),這些數(shù)據(jù)源包括關(guān)系和非關(guān)系數(shù)據(jù)庫(kù)、電子郵件和文件系統(tǒng)、文本和圖形、自定義業(yè)務(wù)對(duì)象等等。也就是說(shuō),OLEDB并不局限于ISAM、Jet甚至關(guān)系數(shù)據(jù)源,它能夠處理任何類(lèi)型的數(shù)據(jù),而不考慮它們的格式和存儲(chǔ)方法。在實(shí)際應(yīng)用中,這種多樣性意味著可以訪問(wèn)駐留在Excel電子數(shù)據(jù)表、文本文件、電子郵件/目錄服務(wù)甚至郵件服務(wù)器,諸如MicrosoftExchange中的數(shù)據(jù)。但是,OLEDB應(yīng)用程序編程接口的目的是為各種應(yīng)用程序提供最佳的功能,它并不符合簡(jiǎn)單化的要求。您需要的API應(yīng)該是一座連接應(yīng)用程序和OLEDB的橋梁,這就是ActiveXDataObjects(ADO)。(4)DAO是基于MicrosoftJet數(shù)據(jù)庫(kù)引擎的一種重要的數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)。DAO是一種面向?qū)ο蟮慕缑娼涌冢强梢暬膶?duì)象要通過(guò)編碼來(lái)完成。DAO是設(shè)計(jì)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)的對(duì)象類(lèi)的集合,提供了完成管理這樣一個(gè)系統(tǒng)所需的全部操作的屬性與方法,包括創(chuàng)建數(shù)據(jù)庫(kù)、定儀表、字段和索引、簡(jiǎn)歷表之間的關(guān)系、定位和查詢(xún)數(shù)據(jù)庫(kù)等工具。MFC提供的DAO類(lèi)可以通過(guò)MicrosoftJet數(shù)據(jù)庫(kù)引擎訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)及數(shù)據(jù)庫(kù)的結(jié)構(gòu)定義。DAO類(lèi)具備ODBC類(lèi)的大部分功能并增加了許多自己的功能。與ODBC類(lèi)的CDatabase、CRecordset、CRecordView類(lèi)似,MFC為DAO也提供了相應(yīng)的CDaoDatabase、CDaoRecordset和CDaoRecordView類(lèi),分別封裝了DAO數(shù)據(jù)庫(kù)對(duì)象、DAO記錄集對(duì)象和DAO記錄視對(duì)象。此外,DAO還提供有封裝DAO工作區(qū)對(duì)象、表定義對(duì)象和查詢(xún)定義對(duì)象的CDaoWorkspace、CDaoTableDef和CDaoQueryDef等DAO類(lèi)。下面以MFCODBC類(lèi)來(lái)講述如何實(shí)現(xiàn)VC+與數(shù)據(jù)庫(kù)的連接:應(yīng)用VisualC+的AppWizard可以自動(dòng)生成一個(gè)ODBC應(yīng)用程序框架。方法是:打開(kāi)File菜單的New選項(xiàng),選取Projects,填入工程名,選擇MFCAppWizard(exe),然后按AppWizard的提示進(jìn)行操作。當(dāng)AppWizard詢(xún)問(wèn)是否包含數(shù)據(jù)庫(kù)支持時(shí),如果你想讀寫(xiě)數(shù)據(jù)庫(kù),那么選定Databaseviewwithfilesupport;而如果你想訪問(wèn)數(shù)據(jù)庫(kù)的信息而不想回寫(xiě)所做的改變,那么選定Databaseviewwithoutfilesupport選項(xiàng)就比較合適了。選擇了數(shù)據(jù)庫(kù)支持之后DatabaseSource按鈕會(huì)激活,選中它去調(diào)用DataOptions對(duì)話框。在DatabaseOptions對(duì)話框中會(huì)顯示已向ODBC注冊(cè)的數(shù)據(jù)庫(kù)資源,選定你所要操作的數(shù)據(jù)庫(kù),如:Super_ES,單擊OK后會(huì)出現(xiàn)SelectDatabaseTables對(duì)話框,其中列舉了你所選中的數(shù)據(jù)庫(kù)中包含的全部表,選擇你希望操作的表后,單擊OK。在選定了數(shù)據(jù)庫(kù)和數(shù)據(jù)表之后,你可以按照慣例繼續(xù)進(jìn)行AppWizard操作。3-特別需要指出的是:在生成的應(yīng)用程序框架View類(lèi)(如:CSuper_ESView)中包含一個(gè)指向CSuper_ESSet對(duì)象的指針m_pSet,該指針由AppWizard建立,目的是在視表單和記錄集之間建立聯(lián)系,使得記錄集中的查詢(xún)結(jié)果能夠很容易地在視表單上顯示出來(lái)。有關(guān)m_pSet的詳細(xì)用法可以參見(jiàn)VisualC+OnlineBook。-程序與數(shù)據(jù)語(yǔ)言建立聯(lián)系,使用CDatebase:OpenEx()或CDatabase:Open()函數(shù)來(lái)進(jìn)行初始化。數(shù)據(jù)庫(kù)對(duì)象必須在你使用它構(gòu)造一個(gè)記錄集對(duì)象之前被初始化。-下面舉例說(shuō)明在VisualC+環(huán)境中ODBC的編程技巧:-1查詢(xún)記錄-查詢(xún)記錄使用CRecordSet:Open()和CRecordSet:Requery()成員函數(shù)。在使用CRecordSet類(lèi)對(duì)象之前,必須使用CRecordSet:Open()函數(shù)來(lái)獲得有效的記錄集。一旦已經(jīng)使用過(guò)CRecordSet:Open()函數(shù),再次查詢(xún)時(shí)就可以應(yīng)用CRecordSet:Requery()函數(shù)。在調(diào)用CRecordSet:Open()函數(shù)時(shí),如果已經(jīng)將一個(gè)已經(jīng)打開(kāi)的CDatabase對(duì)象指針傳給CRecordSet類(lèi)對(duì)象的m_pDatabase成員變量,則使用該數(shù)據(jù)庫(kù)對(duì)象建立ODBC連接;否則如果m_pDatabase為空指針,就新建一個(gè)CDatabase類(lèi)對(duì)象并使其與缺省的數(shù)據(jù)源相連,然后進(jìn)行CRecordSet類(lèi)對(duì)象的初始化。缺省數(shù)據(jù)源由GetDefaultConnect()函數(shù)獲得。你也可以提供你所需要的SQL語(yǔ)句,并以它來(lái)調(diào)用CRecordSet:Open()函數(shù),例如:Super_ESSet.Open(AFX_DATABASE_USE_DEFAULT,strSQL);-如果沒(méi)有指定參數(shù),程序則使用缺省的SQL語(yǔ)句,即對(duì)在GetDefaultSQL()函數(shù)中指定的SQL語(yǔ)句進(jìn)行操作:CStringCSuper_ESSet:GetDefaultSQL()return_T(BasicData,MainSize);-對(duì)于GetDefaultSQL()函數(shù)返回的表名,對(duì)應(yīng)的缺省操作是SELECT語(yǔ)句,即:SELECT*FROMBasicData,MainSize-查詢(xún)過(guò)程中也可以利用CRecordSet的成員變量m_strFilter和m_strSort來(lái)執(zhí)行條件查詢(xún)和結(jié)果排序。m_strFilter為過(guò)濾字符串,存放著SQL語(yǔ)句中WHERE后的條件串;m_strSort為排序字符串,存放著SQL語(yǔ)句中ORDERBY后的字符串。如:Super_ESSet.m_strFilter=TYPE=電動(dòng)機(jī);Super_ESSet.m_strSort=VOLTAGE;Super_ESSet.Requery();對(duì)應(yīng)的SQL語(yǔ)句為:SELECT*FROMBasicData,MainSizeWHERETYPE=電動(dòng)機(jī)ORDERBYVOLTAGE-除了直接賦值給m_strFilter以外,還可以使用參數(shù)化。利用參數(shù)化可以更直觀,更方便地完成條件查詢(xún)?nèi)蝿?wù)。使用參數(shù)化的步驟如下:-(1)聲明參變量:CStringp1;floatp2;-(2)在構(gòu)造函數(shù)中初始化參變量4p1=_T();p2=0.0f;m_nParams=2;-(3)將參變量與對(duì)應(yīng)列綁定pFX-SetFieldType(CFieldExchange:param)RFX_Text(pFX,_T(P1),p1);RFX_Single(pFX,_T(P2),p2);-完成以上步驟之后就可以利用參變量進(jìn)行條件查詢(xún)了:m_pSet-m_strFilter=TYPE=?ANDVOLTAGE=?;m_pSet-p1=電動(dòng)機(jī);m_pSet-p2=60.0;m_pSet-Requery();-參變量的值按綁定的順序替換查詢(xún)字串中的?適配符。-如果查詢(xún)的結(jié)果是多條記錄的話,可以用CRecordSet類(lèi)的函數(shù)Move(),MoveNext(),MovePrev(),MoveFirst()和MoveLast()來(lái)移動(dòng)光標(biāo)。-2增加記錄-增加記錄使用AddNew()函數(shù),要求數(shù)據(jù)庫(kù)必須是以允許增加的方式打開(kāi):m_pSet-AddNew();/在表的末尾增加新記錄m_pSet-SetFieldNull(&(m_pSet-m_type),FALSE);m_pSet-m_type=電動(dòng)機(jī);./輸入新的字段值m_pSet-Update();/將新記錄存入數(shù)據(jù)庫(kù)m_pSet-Requery();/重建記錄集-3刪除記錄-直接使用Delete()函數(shù),并且在調(diào)用Delete()函數(shù)之后不需調(diào)用Update()函數(shù):m_pSet-Delete();if(!m_pSet-IsEOF()m_pSet-MoveNext()

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論