【正文】
DSN 對 SQL SERVER 數(shù)據(jù)庫進(jìn)行連接 : M_pConnection— Open(“ driver={SQLServer}; Server=; DATABASE= 陜西科技大學(xué)畢業(yè)論文(設(shè)計(jì)說明書) 17 Vckbase; UID=sa; PWD=139”, “ ”, adModeUnknown); 其中 Server 是 SQL 服務(wù)器的名稱, DALABASE 是庫的名稱。如果要使用多個記錄集,最好的方法是同 Command 對象一樣使用己經(jīng)創(chuàng)建了數(shù)據(jù)連接的全局 _ConncetionPt 接口,然后使用 _ReeordsetPt 執(zhí)行存儲過程和 SQL 語句。但如果要頻繁訪問數(shù)據(jù)庫,并要返回很多記錄集,那么,應(yīng)該使用全局 _ConnectionPt 接口創(chuàng)建一個數(shù)據(jù)連接,然后使用 _CommandPtr 接口執(zhí)行存儲過程和 SQL 語句。 _CommandPt:接口返回一個記錄集。通常使用它來創(chuàng)建一個數(shù)據(jù) 連接或執(zhí)行一條不返回任何結(jié)果的 SQL 語句,如一個存儲過程。如 : BOOL CNCLY2021APP :: InitInstance() { AfxEnableControlContainer(); :: CoInitialize(NULL); //這就是初始化 COM 庫 } 程序最后要調(diào)用 ::Couninitialize()?,F(xiàn)在不需添加另外的頭文件,就可以使用 ADO 接口了。 屬性集合 (Properties):在連接對象、命令對象、記錄集對象和域?qū)ο笾卸及藢傩詫ο蟮募稀? 參數(shù)集合 (Parameters):命令對象中包含了域?qū)ο蟮募稀? 屬性對象 (Property):用于在操作中使用的其它對象的詳細(xì)屬性。 Connection Errors Command Error Parameters Parameter Recordset Properties Property Field Fields Connection(連接對象 ) Command(命令對象 ) Recordset(記錄集對象 ) Field(域?qū)ο?) Fields(域集合 ) Parameter(參數(shù)對象 ) Parameters(參數(shù)集合 ) Error(錯誤對象 ) Errors(錯誤集合 ) Property(屬性對象 ) Properties(屬性集合 ) 集合 對象 溫濕度測量系統(tǒng)設(shè)計(jì)(上位機(jī)軟件設(shè)計(jì)) 14 命令對象 (Command):用于處理傳遞給數(shù)據(jù)源的命令。 圖 32ADO 的結(jié)構(gòu) (2)ADO 結(jié)構(gòu) ADO 技術(shù)用對象封裝了 OLEDB 中所提供的接口,這些接口分別被 OLEDB 數(shù)據(jù)提供程序、 OLEDB 服務(wù)提供程序所使用。 ADO 在關(guān)鍵的應(yīng)用方案中使用最少的網(wǎng)絡(luò)流量,并且在前端和數(shù)據(jù)源之間使用最少的層數(shù),所有這些都是為了提供輕量、高性能的接口。 3)所有關(guān)系數(shù)據(jù)庫的公共語臺‘ 由于所有主要的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都只持 SQL 語言,用戶可將使用 SQL 的技能從一個 RDMBS 轉(zhuǎn)到另一個,所有用 SQL 編寫的程序都是可以移植的??刂茖?shù)據(jù)和數(shù)據(jù)對象的存取 。 2)統(tǒng)一的語言 SQL 可用于所有用戶的數(shù)據(jù)庫活動模型,包括系統(tǒng)管理員、數(shù)據(jù)庫管理員、應(yīng)用程序員、決策支持系統(tǒng)人員及許多其它類型的終端用戶。所有 SQL語句接受集合作為輸入,返回集合作為輸出。 以上介紹了 SQL數(shù)據(jù)庫結(jié)構(gòu)化查詢語言的幾個簡單的命令,其余的命令請查詢參考文獻(xiàn) [12, 13]。 其中數(shù)據(jù)插入的格式為 : 溫濕度測量系統(tǒng)設(shè)計(jì)(上位機(jī)軟件設(shè)計(jì)) 12 INSERTINTO 表名 (字段名 1,字段名 2,?? )VALUES(表達(dá)式 1,表達(dá)式 2,?? )功能是按給定的字段值在數(shù)據(jù)庫的末尾追加一條新的紀(jì)錄。其它選 項(xiàng)與上面的表結(jié)構(gòu)定義相同。 PRIMARYKEY/UNIQUE 表示主鍵或唯一索引 。 陜西科技大學(xué)畢業(yè)論文(設(shè)計(jì)說明書) 11 2)SQL 的數(shù)據(jù)定義功能, SQL 數(shù)據(jù)定義功能包含了表結(jié)構(gòu)的定義、修改與刪除以及視圖的創(chuàng)建與刪除。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)都采用了 SQL 語一言標(biāo)準(zhǔn),本文中用 ADO 訪問 Access 數(shù)據(jù)庫進(jìn)行的相關(guān)操作就使用了 SQL 語言。 (5)訪問不同種類數(shù)據(jù)源傳統(tǒng)的 ODBC 技術(shù)只能訪問關(guān)系型數(shù)據(jù)庫,在 VC++中,提供了 OLEDB 訪問技術(shù),不僅可以訪問關(guān)系型數(shù)據(jù)庫,還可以訪問非關(guān)系型數(shù)據(jù)庫。 (3)訪問速度快 為了解決 ODBC 開發(fā)數(shù)據(jù)庫應(yīng)用程序訪問數(shù)據(jù)庫速度慢的問題, VC++ 提供了新的訪問技術(shù) ——OLEDB 和 ADO,它們都是基于 COM 接口的技術(shù),使用這種技術(shù)可以直接對 數(shù)據(jù)庫的驅(qū)動程序進(jìn)行訪問,這大大提高了對數(shù)據(jù)庫的訪問速度。 VC++ 提供了多種數(shù)據(jù)庫訪問技術(shù) ——ODBC API、 MFC ODBC、 DAO、OLEDB、 ADO 等。 VC++作為一種程序 設(shè)計(jì)語言,它同時(shí)也是一個集成開發(fā)工具,提供了軟件代碼自動生成和可視化的資源編輯功能。在視圖中可以顯示和編輯源文件和頭文件。 (4)類視圖 (ClassView)。用來建立新的類,定制類,把消息映射為類成員函數(shù),或者把控制框映射為類變量成員。然后 APPWizard 生成一些文件,這些文件構(gòu)成程序的框架。 溫濕度測量系統(tǒng)設(shè)計(jì)(上位機(jī)軟件設(shè)計(jì)) 8 圖 31 VC++集成開發(fā)環(huán)境介紹 VC 十 +被稱為可視化集成開發(fā)環(huán)境是由于在 VC++中能夠執(zhí)行如下的功能 : 第一,生成不用編寫代碼的起始應(yīng)用程序 ; 第二,通過許多不同方法查看項(xiàng)目文件 ; 第三,編輯源文件和包含文件 ; 第四,建立應(yīng)用程序的可視界面 (菜單和對話框 ); 第五,編譯和鏈接 ; 第六,運(yùn)行時(shí)調(diào)試應(yīng)用程序。使用 MFC 類庫編程接口也可以直接調(diào)用一些 Win32 函數(shù)。例如,在布置一個對話框時(shí),可以使用資源和可編輯框來選擇需要在對話框中放置的元素 (按鈕、列表框等 ),并且用鼠標(biāo)來確定元素的位置和大小 。 在進(jìn)行 Windows 編程時(shí),可以使用大量已經(jīng)建立的格式在資源文件中存儲數(shù)據(jù)。 Windows 引入了一個名為圖形設(shè)備接口 (GDI)的抽象層。 Windows 中的大部分消息是嚴(yán)格定義的,而且適用于所有的程序。另外,它提供了大量的代碼,指導(dǎo)用戶編程時(shí)實(shí)現(xiàn)某些技術(shù)和功能。 (1)Visual C++介紹 Visual C++有很多版本,本課題用的是 VC++。 溫濕度測量系統(tǒng)設(shè)計(jì)(上位機(jī)軟件設(shè)計(jì)) 6 3 系統(tǒng) 相關(guān)技術(shù) 介紹 Visual C++開發(fā)平臺 二十世紀(jì)九十年代以來,伴隨著計(jì)算機(jī)硬件技術(shù)的高速發(fā)展, Windows 操作系統(tǒng)風(fēng)靡全球,形成了操作系統(tǒng)市場的壟斷地位。用戶可以根據(jù)編程的需要調(diào)用相應(yīng)的類,或者自己定義有關(guān)的類。 MFC 提供的類庫讓程序員把精力更多的放在功能拓展上,而不用太在意細(xì)節(jié)的實(shí)現(xiàn),還允許在編程過程中自定義和擴(kuò)展應(yīng)用程序中的類,同時(shí)也允許調(diào)用 Windows API 函數(shù),使得應(yīng)用程序以最小的規(guī)模實(shí)現(xiàn)最豐富的功能。 API 函數(shù)可以實(shí)現(xiàn)窗口創(chuàng)建、移動和修改,實(shí)現(xiàn)與設(shè)備無關(guān)的圖形操作功能,實(shí)現(xiàn)與操作系統(tǒng)有關(guān)的多種功能,但是,利用 API函數(shù)編程時(shí),大量的代碼需要用戶自己編寫,編程工作量很大。所以,用面向?qū)ο蠹夹g(shù)開發(fā)的軟件,易于擴(kuò)展、調(diào)試和維護(hù)。 (4)面向?qū)ο蠹夹g(shù)具有的繼承性和封裝 性支持軟件復(fù)用,易于擴(kuò)充,能較好地適應(yīng)復(fù)雜的大系統(tǒng)不斷發(fā)展和變化的要求,要復(fù)用類,可以直接創(chuàng)建該類的實(shí)例,實(shí)現(xiàn)復(fù)用,還可以從該類派生出滿足新需要的子類。功能上的統(tǒng)一保證了面向?qū)ο笤O(shè)計(jì)的可擴(kuò)展性。 封裝、繼承、多態(tài)是面向?qū)ο蟪绦虻闹饕卣?。這種通信機(jī)制叫做消息的傳遞。當(dāng)一個對象接收到發(fā)送給自己的消息時(shí),就會調(diào)用消息中指定的操作,并且將參數(shù)表中的值與形式參數(shù)結(jié)合起來。繼承性是面向?qū)ο蟮淖钪饕攸c(diǎn),是面向過程所不具備的。新類的定義可以是現(xiàn)存類所聲明的數(shù)據(jù)、定義與新類所增加的聲明的組合,可以沿用現(xiàn)存類的某些特征。把一組對象的共同特性加以抽象并存儲在一個類中的能力,是面向?qū)ο蠹夹g(shù)最重要的一點(diǎn) 。從用陜西科技大學(xué)畢業(yè)論文(設(shè)計(jì)說明書) 3 戶的角度看,對象提供了所需要的行為。 對象是面向?qū)ο箝_發(fā)模式的基本成分,是基本運(yùn)行時(shí)的實(shí)體,每個對象可以用一組屬性和它可以執(zhí)行的一組操作來定義,就是封裝了數(shù)據(jù)和操作的程序塊,反映了面向?qū)ο蟮姆庋b的特征。 為了克服傳統(tǒng)的設(shè)計(jì)方法的缺點(diǎn),逐漸創(chuàng)造出了新的軟件開發(fā)技術(shù),即面向?qū)ο蠹夹g(shù)。 其次,結(jié)構(gòu)分析與結(jié)構(gòu)設(shè)計(jì)技術(shù)清楚地定義了目標(biāo)系統(tǒng)的接口。面向過程程序設(shè)計(jì)涉及到結(jié)構(gòu)分析與結(jié)構(gòu)設(shè)計(jì)技術(shù),它們在現(xiàn)在的應(yīng)用中表現(xiàn)出了許多明顯的缺點(diǎn),用這些技術(shù)開發(fā)出的軟件,其穩(wěn)定性、可修改性和重用性都比較差。它把一個復(fù)雜的程序分解成若干個較小的過程,每個過程都可以單獨(dú)地設(shè)計(jì)、修改、調(diào)試。 (2)分析整個 溫濕度測量 系統(tǒng)的總體框架及其功能特點(diǎn)。 課題 主要研究的內(nèi)容 木課題以 Windows XP 為開發(fā)平臺,以 C++為開發(fā)語言,以 VisualC++ 作為前臺開發(fā)環(huán)境, Microsoft Access 作為后臺開發(fā)數(shù)據(jù)庫。 關(guān)鍵詞 : 溫濕度,數(shù)據(jù)采集, 串口通信, MFC,上位機(jī) , MSComm 溫濕度測量系統(tǒng)設(shè)計(jì)(上位機(jī)軟件設(shè)計(jì)) II Temperature and humidity measurement system design ( PC software design) ABSTRACT Approach is PC through RS_485 bus and provisions of the munication protocol under orders to send out a machine, lower level puter according to this mand to explain again into corresponding timing signal directly control sensor. From lower level puter equipment state data, converted into digital signal feedback to the PC. PC docking receive data processed, in upper machine display and storage and database medium. Meanwhile PC user management, the convenient user for the collected data in view of historical data and the query etc. Introduced the temperature and humidity measurement system of software constitutes upper machine. Use Visual C + + as a development platform, using MFC libraries, using dialogbased templates, Microsoft Access as a background, and by using the development of database MSComm control design for a plete serial munication realtime monitoring PC software system. This paper, starting from the PC software by using objectoriented, database, serial munication technology plete system information and data storage, data and curve realtime display, lasted inquiry, and other functions, realized the PC system monitoring task. Given the general design of the software solutions and the function module design, shows the software39。 介紹了溫濕度測量系統(tǒng)上位機(jī)的軟 件構(gòu)成。陜西科技大學(xué)畢業(yè)論文(設(shè)計(jì)說明書) I 溫濕度測量系統(tǒng)設(shè)計(jì)(上位機(jī)軟件設(shè)計(jì)) 摘 要 本課題實(shí)現(xiàn)方法是 上位機(jī) 通過 RS_485總線及規(guī)定的通信協(xié)議 發(fā)出的命令 發(fā)送 給下位機(jī),下位機(jī)再根據(jù)此命令解釋成相應(yīng)時(shí)序信號直接控制 傳感器 。同時(shí)上位機(jī)對用戶進(jìn)行管理,方便用戶對采集到的數(shù)據(jù)進(jìn)行查看及對歷史數(shù)據(jù)的查詢等。給出了軟件的總體設(shè)計(jì)方案和各功能模塊的設(shè)計(jì) , 說明 了該軟件的主要功能 ,并給出了系統(tǒng)的運(yùn)行界面和應(yīng)用模式。 傳感器技術(shù)、微控制器技術(shù)和計(jì)算機(jī)技術(shù)日漸成熟之后,現(xiàn)代的溫濕度測量與控制