專(zhuān)利名稱(chēng)::數(shù)控系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)的數(shù)據(jù)管理系統(tǒng)及方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及數(shù)據(jù)管理系統(tǒng)及方法,具體地是涉及一種數(shù)控系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)的數(shù)據(jù)管理系統(tǒng)及方法。
背景技術(shù):
:傳統(tǒng)的數(shù)控系統(tǒng)大多采用文本文件的形式對(duì)數(shù)控?cái)?shù)據(jù)進(jìn)行存儲(chǔ)管理。這種存儲(chǔ)管理方式存在很多弊端,數(shù)據(jù)的維護(hù)與修改相當(dāng)麻煩,嚴(yán)重地影響了數(shù)控系統(tǒng)的性能且造成了磁盤(pán)空間的浪費(fèi)。問(wèn)題可以概括為以下幾種(I)傳統(tǒng)的文本文件方式缺乏交互機(jī)制在傳統(tǒng)的文本文件存儲(chǔ)管理方式中,數(shù)據(jù)直接被存儲(chǔ)在表中。當(dāng)用戶(hù)需要獲取特定的相關(guān)數(shù)據(jù)信息時(shí),沒(méi)有提供一種機(jī)制將要獲取的信息顯示出來(lái)。(2)傳統(tǒng)的文本文件方式缺乏完善的數(shù)據(jù)組織管理體系在傳統(tǒng)的文本文件存儲(chǔ)管理方式中,數(shù)據(jù)都被存儲(chǔ)在一個(gè)表中,沒(méi)能對(duì)不同的數(shù)據(jù)信息進(jìn)行劃分。而在數(shù)控系統(tǒng)中對(duì)于不同類(lèi)型的數(shù)據(jù)進(jìn)行的操作也不一樣,固定參數(shù)需要根據(jù)不同的要求而設(shè)定不同的參數(shù)值?;顒?dòng)數(shù)據(jù)則會(huì)因加工的過(guò)程做出實(shí)時(shí)的變化,這兩種數(shù)據(jù)都是需要不斷更新修改的。如果都被放在同一個(gè)表中,修改與維護(hù)會(huì)變得非常困難和復(fù)雜。(3)傳統(tǒng)的文本文件方式數(shù)據(jù)共享性差在傳統(tǒng)的文本文件存儲(chǔ)管理方式中,應(yīng)用程序以獨(dú)占的方式打開(kāi)數(shù)據(jù)庫(kù),數(shù)據(jù)的共享性與應(yīng)用程序的并發(fā)性差,從而影響了系統(tǒng)的整體性能。已有技術(shù)中,中國(guó)專(zhuān)利CN101667210A,提供一種“基于嵌入式數(shù)據(jù)庫(kù)的認(rèn)證授權(quán)系統(tǒng)”,該認(rèn)證授權(quán)系統(tǒng)使用SQLite作為后臺(tái)數(shù)據(jù)庫(kù)管理系統(tǒng),采用了模塊化的設(shè)計(jì),由SQLite數(shù)據(jù)庫(kù)和認(rèn)證授權(quán)兩個(gè)主模塊組成。認(rèn)證授權(quán)模塊通過(guò)應(yīng)用程序接口(API)與SQLite數(shù)據(jù)庫(kù)和外部應(yīng)用程序進(jìn)行交互。該認(rèn)證授權(quán)系統(tǒng)屬于工控系統(tǒng)中的授權(quán)管理,用于解決授權(quán)管理中實(shí)時(shí)性差、可擴(kuò)展性和跨平臺(tái)性的問(wèn)題。不適宜用于數(shù)控系統(tǒng)中的數(shù)據(jù)存儲(chǔ)和管理。
發(fā)明內(nèi)容本發(fā)明的目的是解決數(shù)控系統(tǒng)中數(shù)據(jù)的有效存儲(chǔ)和組織管理,解決傳統(tǒng)數(shù)控系統(tǒng)實(shí)時(shí)性差和磁盤(pán)空間浪費(fèi)嚴(yán)重的缺點(diǎn),提高系統(tǒng)速度和改善系統(tǒng)性能。本發(fā)明為了達(dá)到上述的目的,提供一種數(shù)控系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)的數(shù)據(jù)管理系統(tǒng)及方法。所述數(shù)控系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)的數(shù)據(jù)管理系統(tǒng)包括SQLite數(shù)據(jù)庫(kù),接口函數(shù)和數(shù)據(jù)管理模塊。數(shù)據(jù)管理模塊通過(guò)接口函數(shù)與SQLite數(shù)據(jù)庫(kù)相互交換數(shù)據(jù)信息。所述數(shù)據(jù)管理模塊內(nèi)包括用GTK+的圖形庫(kù)建立的數(shù)據(jù)管理操作界面;所述SQLite數(shù)據(jù)庫(kù)內(nèi)包括含有固定參數(shù)、活動(dòng)數(shù)據(jù)和編程文件的系統(tǒng)數(shù)據(jù)庫(kù);所述系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)包括與上述數(shù)據(jù)管理操作界面相對(duì)應(yīng)的數(shù)據(jù)表單。所述數(shù)控系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)的數(shù)據(jù)管理方法,首先在SQLite數(shù)據(jù)庫(kù)內(nèi)建立一個(gè)含有固定參數(shù)、活動(dòng)數(shù)據(jù)和編程文件的系統(tǒng)數(shù)據(jù)庫(kù);用GTK+的圖形庫(kù)建立一個(gè)包括數(shù)據(jù)管理操作界面的數(shù)據(jù)管理模塊;在系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)建立與數(shù)據(jù)管理操作界面相對(duì)應(yīng)的數(shù)據(jù)表單;采用接口函數(shù)進(jìn)行操作數(shù)據(jù)管理模塊與SQLite數(shù)據(jù)庫(kù)之間的相互交換數(shù)據(jù)信息。本發(fā)明的數(shù)據(jù)管理系統(tǒng)及方法具有顯著的進(jìn)步。(I)如上述本發(fā)明的數(shù)據(jù)管理系統(tǒng)及方法,因?yàn)楸景l(fā)明是在SQLite嵌入式數(shù)據(jù)庫(kù)內(nèi)建立含有固定參數(shù)、活動(dòng)數(shù)據(jù)、編程文件的系統(tǒng)數(shù)據(jù)庫(kù),也就是說(shuō),本發(fā)明以SQLite嵌入式數(shù)據(jù)庫(kù)作為數(shù)控系統(tǒng)的后臺(tái),能方便的存儲(chǔ)數(shù)控系統(tǒng)所涉及到的各種固定參數(shù)、活動(dòng)數(shù)據(jù)、編程文件等數(shù)據(jù)信息。為每類(lèi)數(shù)據(jù)信息設(shè)計(jì)詳細(xì)表單,數(shù)據(jù)劃分清晰,管理方便。(2)如上述本發(fā)明的數(shù)據(jù)管理系統(tǒng)及方法,因?yàn)楸景l(fā)明在數(shù)據(jù)管理模塊內(nèi)用GTK+的圖形庫(kù)建立的包括數(shù)據(jù)管理操作界面(簡(jiǎn)稱(chēng)為操作界面)與系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)表單相互對(duì)應(yīng)。所以數(shù)據(jù)管理模塊的操作界面上的數(shù)據(jù)變化,在系統(tǒng)數(shù)據(jù)庫(kù)中能夠進(jìn)行實(shí)時(shí)更新,保證了用戶(hù)界面與數(shù)據(jù)庫(kù)中數(shù)據(jù)信息的統(tǒng)一。當(dāng)用戶(hù)修改參數(shù)數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)中的數(shù)據(jù)也同時(shí)相應(yīng)地被修改。滿(mǎn)足了人們對(duì)數(shù)控系統(tǒng)實(shí)時(shí)性的要求。提高了數(shù)控系統(tǒng)的實(shí)時(shí)性,使數(shù)控系統(tǒng)的正確性、安全性得到保證。(3)如上述本發(fā)明的數(shù)據(jù)管理系統(tǒng)及方法,因?yàn)閿?shù)據(jù)管理操作界面與數(shù)據(jù)表單對(duì)應(yīng)進(jìn)行操作,所以,所有對(duì)數(shù)據(jù)的操作都是以事務(wù)的形式進(jìn)行。事務(wù)是數(shù)據(jù)庫(kù)中對(duì)數(shù)據(jù)進(jìn)行操作的獨(dú)立單位,數(shù)據(jù)庫(kù)支持多個(gè)事物同時(shí)執(zhí)行,這樣數(shù)據(jù)的共享特性得以體現(xiàn)。提高了系統(tǒng)的并發(fā)性,改善了系統(tǒng)的性能。(4)如上述本發(fā)明的數(shù)據(jù)管理系統(tǒng)及方法,因?yàn)橐許QLite嵌入式數(shù)據(jù)庫(kù)作為數(shù)控系統(tǒng)的后臺(tái),所有對(duì)數(shù)據(jù)的操作都轉(zhuǎn)化為用SQL語(yǔ)句進(jìn)行,操作簡(jiǎn)單、快捷,這樣對(duì)數(shù)據(jù)的維護(hù)也顯得方便。SQLite作為一種優(yōu)秀的開(kāi)源數(shù)據(jù)庫(kù),具有很多優(yōu)良的特性,移植方便,部署簡(jiǎn)單、占用空間較小,適合于數(shù)控系統(tǒng)對(duì)操作簡(jiǎn)單、方便、快捷的技術(shù)要求。圖I是本發(fā)明數(shù)據(jù)管理系統(tǒng)一實(shí)施例的結(jié)構(gòu)示意圖;圖2是本發(fā)明數(shù)據(jù)管理方法一實(shí)施例的流程圖;圖3是從數(shù)據(jù)庫(kù)到操作界面一實(shí)施例的流程圖;圖4是從操作界面到數(shù)據(jù)庫(kù)一實(shí)施例的流程圖;圖5是操作界面與數(shù)據(jù)庫(kù)之間的交互示意圖。具體實(shí)施例方式下面結(jié)合附圖進(jìn)一步說(shuō)明本發(fā)明數(shù)據(jù)管理系統(tǒng)及方法的技術(shù)特征。如圖I所示,本發(fā)明的數(shù)據(jù)管理系統(tǒng)包括SQLite數(shù)據(jù)庫(kù)I,接口函數(shù)2和數(shù)據(jù)管理模塊3。在本實(shí)施例中,接口函數(shù)2為API接口函數(shù)。數(shù)據(jù)管理模塊通過(guò)API接口函數(shù)與SQLite數(shù)據(jù)庫(kù)相互交換數(shù)據(jù)信息。所述數(shù)據(jù)管理模塊內(nèi)包括用GTK+的圖形庫(kù)建立的數(shù)據(jù)管理操作界面;所述SQLite數(shù)據(jù)庫(kù)內(nèi)包括含有固定參數(shù)、活動(dòng)數(shù)據(jù)和編程文件的系統(tǒng)數(shù)據(jù)庫(kù);所述系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)包括與上述數(shù)據(jù)管理操作界面相對(duì)應(yīng)的數(shù)據(jù)表單。如圖2所示,本發(fā)明的數(shù)據(jù)管理方法的步驟是第I步01,首先在SQLite數(shù)據(jù)庫(kù)內(nèi)創(chuàng)建一個(gè)系統(tǒng)數(shù)據(jù)庫(kù)。在本實(shí)施例中,在SQLite數(shù)據(jù)庫(kù)中創(chuàng)建一個(gè)名為CNC.db的系統(tǒng)數(shù)據(jù)庫(kù),用于存儲(chǔ)管理數(shù)控系統(tǒng)中用到的所有信息表。其存儲(chǔ)管理的數(shù)據(jù)包含固定參數(shù)、活動(dòng)數(shù)據(jù)和編程文件。例如,具體的操作命令是$sqlite3CNC.db—進(jìn)入CNC系統(tǒng)數(shù)據(jù)庫(kù),若該系統(tǒng)數(shù)據(jù)庫(kù)不存在,則創(chuàng)建該系統(tǒng)數(shù)據(jù)庫(kù)。用SQL語(yǔ)句(create)創(chuàng)建數(shù)據(jù)信息表tabl,例如sqlite3>createtabletabl(keyihtprimarykey,info2varchar(20),info3varchar(20));若要將記錄record(tidl,tid2,tid3)插入該表中,其值為(I,‘data2’,‘data3’)??捎肧QL語(yǔ)句(insert)向該表中插入該數(shù)據(jù),如果數(shù)據(jù)量較大也可以采用批處理的方式進(jìn)行。例如,操作是sqlite3>insertintotabl(key,info2,info3)values(I,‘data2,,‘data3,);在本實(shí)施例中,所述固定參數(shù)包括(主要的)通用機(jī)床數(shù)據(jù)設(shè)為16K;機(jī)床數(shù)據(jù)設(shè)為4K;伺服數(shù)據(jù)設(shè)為I.2K。所述活動(dòng)數(shù)據(jù)包括配置數(shù)據(jù)這是機(jī)床出廠前由廠家(如機(jī)械廠)設(shè)置的數(shù)據(jù),設(shè)計(jì)在2K之內(nèi)。調(diào)試數(shù)據(jù)這些數(shù)據(jù)是最終機(jī)床用戶(hù)在機(jī)器使用前的配置數(shù)據(jù),數(shù)據(jù)量設(shè)計(jì)在2K之內(nèi)。斷電保存數(shù)據(jù)設(shè)計(jì)在IK之內(nèi)。所述編程文件包括G代碼編程文件,PLC編程文件,數(shù)據(jù)備份文件,報(bào)警文件,伺服配置文件,系統(tǒng)配置文件,刀具文件。第2步02,建立一個(gè)數(shù)據(jù)管理模塊,用GTK+的圖形庫(kù)建立數(shù)據(jù)管理模塊的數(shù)據(jù)管理操作界面,包含多個(gè)數(shù)據(jù)管理操作界面(為GTK+的樹(shù)型結(jié)構(gòu));第3步03,在上述系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)建立與上述數(shù)據(jù)管理模塊上的數(shù)據(jù)管理操作界面相對(duì)應(yīng)的數(shù)據(jù)表單。也就是根據(jù)不同的操作界面設(shè)計(jì)相應(yīng)的數(shù)據(jù)表單與之對(duì)應(yīng),數(shù)據(jù)表單用于存儲(chǔ)不同操作界面所涉及的數(shù)據(jù)信息;對(duì)于不同的數(shù)據(jù)管理操作界面在系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)有與其相對(duì)應(yīng)的不同的數(shù)據(jù)表單。也就是說(shuō),在數(shù)據(jù)管理模塊內(nèi)有多少個(gè)數(shù)據(jù)管理操作界面,在系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)就有多少個(gè)與其相對(duì)應(yīng)的數(shù)據(jù)表單。第4步04,建立(設(shè)計(jì))數(shù)據(jù)管理模塊與數(shù)據(jù)庫(kù)交互的接口函數(shù)。在本實(shí)施例中,采用API接口函數(shù)。在API接口函數(shù)內(nèi)建立包括插入數(shù)據(jù)、刪除數(shù)據(jù)、查找數(shù)據(jù)和更新數(shù)據(jù)的基本操作接口函數(shù)。在本實(shí)施例中,采用先在PC機(jī)上做好系統(tǒng)數(shù)據(jù)庫(kù)、數(shù)據(jù)管理模塊和接口函數(shù)的設(shè)計(jì)和開(kāi)發(fā),然后再將其移植到硬件平臺(tái)上,如移植到CF卡上。圖3是數(shù)據(jù)庫(kù)中的數(shù)據(jù)信息顯示到操作界面上的流程。如圖3所示,通過(guò)調(diào)用SQLite的接口函數(shù)(API接口函數(shù))打開(kāi)SQLite數(shù)據(jù)庫(kù),查詢(xún)SQLite數(shù)據(jù)庫(kù)中系統(tǒng)數(shù)據(jù)庫(kù)的相關(guān)表信息,再調(diào)用GTK+的函數(shù)將查詢(xún)到的表信息寫(xiě)入GTK+的顯示構(gòu)件中。例如要將查詢(xún)到的表信息顯示在GTK+的樹(shù)型顯示構(gòu)件GtkTreeStore中。具體流程如圖3所示。首先調(diào)用接口函數(shù)打開(kāi)數(shù)據(jù)庫(kù);再將要執(zhí)行的查詢(xún)SQL語(yǔ)句賦給一個(gè)字符串變量;然后將該字符串變量傳遞給語(yǔ)句句柄,并且調(diào)用SQLite的API接口函數(shù)將所有資源準(zhǔn)備好;開(kāi)始執(zhí)行該查詢(xún)操作,此處是一個(gè)do…while的循環(huán)操作;在這個(gè)循環(huán)結(jié)構(gòu)里,用SQLite的API接口函數(shù)查詢(xún)結(jié)果集,邊查詢(xún)邊將查詢(xún)到的結(jié)果集插入到數(shù)據(jù)管理模塊的樹(shù)型結(jié)構(gòu)中;最后判斷模式是否改變,若改變返回重新準(zhǔn)備資源,開(kāi)始執(zhí)行新一輪的查詢(xún)操作;否則,調(diào)用接口函數(shù)關(guān)閉數(shù)據(jù)庫(kù)。圖4是將操作界面上的數(shù)據(jù)信息寫(xiě)入數(shù)據(jù)庫(kù)中。這里涉及的問(wèn)題是,當(dāng)在操作界面上對(duì)數(shù)據(jù)進(jìn)行修改,如何使修改后的數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中,以保持兩種數(shù)據(jù)信息的一致性和連續(xù)性。主要涉及三種操作插入,刪除,和修改(更新)。這里主要介紹更新(修改)功能,因?yàn)樵跀?shù)控系統(tǒng)中,操作人員需要經(jīng)常對(duì)控制的參數(shù)做出修改,此時(shí)就需要實(shí)時(shí)地保持?jǐn)?shù)據(jù)庫(kù)與操作界面上的數(shù)據(jù)信息的統(tǒng)一性。例如當(dāng)需要將操作界面上GTK+文本框控件中的數(shù)據(jù)信息寫(xiě)入數(shù)據(jù)庫(kù)時(shí),可采用以下步驟來(lái)實(shí)現(xiàn)。如圖4所示,首先調(diào)用接口函數(shù)打開(kāi)數(shù)據(jù)庫(kù);再通過(guò)調(diào)用GTK+的賦值函數(shù)將該文本框中的數(shù)據(jù)信息賦給一個(gè)字符串變量,此時(shí)該字符串變量代表替換的新值;再用SQL的update語(yǔ)句指明要更新的數(shù)據(jù)域,數(shù)據(jù)域里的舊值,要替換的新值等信息;之后調(diào)用GTK+函數(shù)將該SQL語(yǔ)句賦給另一個(gè)字符串變量;最后調(diào)用SQLite的API接口函數(shù)執(zhí)行該SQL語(yǔ)句。具體地操作如圖4所示。如圖5所示,操作界面與數(shù)據(jù)庫(kù)的交互包括插入數(shù)據(jù)、刪除數(shù)據(jù)、查找數(shù)據(jù)和更新(修改)數(shù)據(jù)的基本操作。也就是說(shuō),對(duì)數(shù)據(jù)庫(kù)主要圍繞“增刪改查”這四種操作來(lái)進(jìn)行。本發(fā)明通過(guò)封裝這四個(gè)功能接口函數(shù)來(lái)實(shí)現(xiàn)這四種基本的操作。在API接口函數(shù)內(nèi)建立包括插入數(shù)據(jù)、刪除數(shù)據(jù)、查找數(shù)據(jù)和更新數(shù)據(jù)的基本操作接口函數(shù)。同時(shí)通過(guò)配合GTK+的相關(guān)控件來(lái)達(dá)到與數(shù)據(jù)庫(kù)的交互功能。其它復(fù)雜的交互操作大多以這四種基本操作為基礎(chǔ)而進(jìn)行。且每一種的操作都稱(chēng)為一個(gè)事務(wù),完成特定的獨(dú)立操作,可在數(shù)據(jù)管理模塊中并列地執(zhí)行。〈1>插入數(shù)據(jù)操作,當(dāng)需要將操作界面上文本框中的數(shù)據(jù)信息填入數(shù)據(jù)庫(kù)中,可以通過(guò)在操作界面上點(diǎn)擊該操作界面(button_insert_cb)按鈕來(lái)完成該操作。先將文本框中的數(shù)據(jù)信息賦給記錄變量(record),再通過(guò)調(diào)用本發(fā)明所設(shè)計(jì)(建立)的插入數(shù)據(jù)接口函數(shù)(insert_data_in_sqlite)將該變量寫(xiě)入數(shù)據(jù)庫(kù)。其具體步驟是插入按鈕實(shí)現(xiàn)數(shù)據(jù)庫(kù)的插入操作(button_insert_cb(GTKwidget^button){第一步調(diào)用接口函數(shù)顯示文本框中的字段,并賦給一記錄第二步調(diào)用插入接口函數(shù)將上述記錄插入數(shù)據(jù)庫(kù)中;第三步調(diào)用接口函數(shù)刷新數(shù)據(jù)庫(kù)。}對(duì)數(shù)據(jù)庫(kù)進(jìn)行插入操作(insert_data_in_sqlite(Recordrecord){第一步調(diào)用接口函數(shù)打開(kāi)數(shù)據(jù)庫(kù);第二步調(diào)用接口函數(shù)將要執(zhí)行的插入SQL語(yǔ)句賦給字符串變量;第三步調(diào)用接口函數(shù)準(zhǔn)備執(zhí)行插入操作;第四步調(diào)用接口函數(shù)綁定參數(shù);第五步調(diào)用接口函數(shù)執(zhí)行插入操作;第六步調(diào)用接口函數(shù)清理字符串變量;第七步調(diào)用接口函數(shù)定案,釋放資源;第八步調(diào)用接口函數(shù)刷新數(shù)據(jù)庫(kù);第九步調(diào)用接口函數(shù)關(guān)閉數(shù)據(jù)庫(kù)。}<2>刪除數(shù)據(jù)操作當(dāng)需要?jiǎng)h除某個(gè)數(shù)據(jù)域?yàn)閐ata的記錄的要求時(shí)??梢酝ㄟ^(guò)調(diào)用接口函數(shù)(delete_data_in_sqlite)在數(shù)據(jù)庫(kù)中將該記錄刪除。具體刪除操作是對(duì)數(shù)據(jù)庫(kù)進(jìn)行刪除操作(delete_data_in_sqlite(Gtkffidge^button,gchar*data){第一步調(diào)用接口函數(shù)打開(kāi)數(shù)據(jù)庫(kù);第二步調(diào)用接口函數(shù)將要執(zhí)行刪除的SQL語(yǔ)句賦給字符串變量;第三步調(diào)用接口函數(shù)準(zhǔn)備執(zhí)行刪除操作;第四步調(diào)用接口函數(shù)執(zhí)行刪除;第五步調(diào)用接口函數(shù)清理字符串;第六步調(diào)用接口函數(shù)定案,釋放資源;第七步調(diào)用接口函數(shù)關(guān)閉數(shù)據(jù)庫(kù)。}〈3>查找數(shù)據(jù)操作當(dāng)操作界面上有需要查找某個(gè)數(shù)據(jù)域?yàn)閐ata記錄的要求時(shí),可以通過(guò)調(diào)用接口函數(shù)(select_data_in_sqlite函數(shù))在操作界面上顯示查找出來(lái)的這些記錄信息。查找字段為data的記錄select_data_in_sqlite(GtkTreeStore*treestore,gchar*data){第一步調(diào)用接口函數(shù)打開(kāi)數(shù)據(jù)庫(kù);第二步調(diào)用接口函數(shù)顯示要查找的字段data第三步根據(jù)字段信息,調(diào)用相應(yīng)函數(shù)顯示記錄;當(dāng)數(shù)據(jù)域?yàn)榭諘r(shí),顯示所有記錄;當(dāng)數(shù)據(jù)域不為空時(shí),只顯示包含該字段的記錄;第四步調(diào)用接口函數(shù)準(zhǔn)備執(zhí)行查詢(xún)操作;第五步調(diào)用接口函數(shù)清理字符串變量;第六步調(diào)用接口函數(shù)執(zhí)行查詢(xún)操作(步進(jìn)操作);第七步調(diào)用接口函數(shù)在樹(shù)型結(jié)構(gòu)中申請(qǐng)空間;第八步調(diào)用接口函數(shù)將記錄插入到樹(shù)型結(jié)構(gòu)中;第九步調(diào)用接口函數(shù)定案,釋放資源;第十步調(diào)用接口函數(shù)關(guān)閉數(shù)據(jù)庫(kù)。}<4>更新(修改)數(shù)據(jù)操作當(dāng)操作界面上有需要更新某個(gè)數(shù)據(jù)域?yàn)閐ata的值為new_data的要求時(shí)??梢酝ㄟ^(guò)調(diào)用update_data_in_sqlite函數(shù)在數(shù)據(jù)庫(kù)中將該記錄更新。對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新操作updata_data_in_sqlite(Recordrecord,gchar*new_data){第一步調(diào)用接口函數(shù)打開(kāi)數(shù)據(jù)庫(kù);第二步調(diào)用接口函數(shù)顯示要修改的字段;第三步調(diào)用接口函數(shù)將要執(zhí)行修改的SQL語(yǔ)句賦給字符串變量;第三步調(diào)用接口函數(shù)準(zhǔn)備執(zhí)行修改操作;第四步調(diào)用接口函數(shù)綁定參數(shù);第五步調(diào)用接口函數(shù)執(zhí)行修改操作;第六步調(diào)用接口函數(shù)清理字符串變量;第七步調(diào)用接口函數(shù)定案,釋放資源;第八步調(diào)用接口函數(shù)關(guān)閉數(shù)據(jù)庫(kù)。}權(quán)利要求1.一種數(shù)控系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)的數(shù)據(jù)管理系統(tǒng),包括SQLite數(shù)據(jù)庫(kù)和接口函數(shù),其特征在于包括數(shù)據(jù)管理模塊,通過(guò)接口函數(shù)與SQLite數(shù)據(jù)庫(kù)相互交換數(shù)據(jù)信息,它包括用GTK+的圖形庫(kù)建立的數(shù)據(jù)管理操作界面;所述SQLite數(shù)據(jù)庫(kù)內(nèi)包括含有固定參數(shù)、活動(dòng)數(shù)據(jù)和編程文件的系統(tǒng)數(shù)據(jù)庫(kù);所述系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)包括與上述數(shù)據(jù)管理操作界面相對(duì)應(yīng)的數(shù)據(jù)表單。2.一種數(shù)控系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)的數(shù)據(jù)管理方法,其特征在于首先,在SQLite數(shù)據(jù)庫(kù)內(nèi)建立一個(gè)含有固定參數(shù)、活動(dòng)數(shù)據(jù)和編程文件的系統(tǒng)數(shù)據(jù)庫(kù);用GTK+的圖形庫(kù)建立一個(gè)包括數(shù)據(jù)管理操作界面的數(shù)據(jù)管理模塊;在系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)建立與數(shù)據(jù)管理操作界面相對(duì)應(yīng)的數(shù)據(jù)表單;采用接口函數(shù)進(jìn)行操作數(shù)據(jù)管理模塊與SQLite數(shù)據(jù)庫(kù)之間的相互交換數(shù)據(jù)信息。3.根據(jù)權(quán)利要求2所述的數(shù)控系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)的數(shù)據(jù)管理方法,其特征在于,在采用的接口函數(shù)內(nèi)建立包括插入數(shù)據(jù)、刪除數(shù)據(jù)、查找數(shù)據(jù)和更新數(shù)據(jù)的基本操作接口函數(shù)。全文摘要一種數(shù)控系統(tǒng)的嵌入式數(shù)據(jù)庫(kù)的數(shù)據(jù)管理系統(tǒng)及方法。數(shù)據(jù)管理系統(tǒng)包括SQLite數(shù)據(jù)庫(kù)和通過(guò)接口函數(shù)與其交互數(shù)據(jù)信息的數(shù)據(jù)管理模塊。所述數(shù)據(jù)管理方法首先在SQLite數(shù)據(jù)庫(kù)內(nèi)建立一個(gè)含有固定參數(shù)、活動(dòng)數(shù)據(jù)和編程文件的系統(tǒng)數(shù)據(jù)庫(kù);用GTK+的圖形庫(kù)建立一個(gè)包括數(shù)據(jù)管理操作界面的數(shù)據(jù)管理模塊;在系統(tǒng)數(shù)據(jù)庫(kù)內(nèi)建立與數(shù)據(jù)管理操作界面相對(duì)應(yīng)的數(shù)據(jù)表單;采用接口函數(shù)進(jìn)行操作數(shù)據(jù)管理模塊與SQLite數(shù)據(jù)庫(kù)之間的相互交換數(shù)據(jù)信息。具有數(shù)據(jù)劃分清晰,管理方便。提高了數(shù)控系統(tǒng)的實(shí)時(shí)性,使數(shù)控系統(tǒng)的正確性、安全性得到保證。文檔編號(hào)G06F17/30GK102915305SQ20111021931公開(kāi)日2013年2月6日申請(qǐng)日期2011年8月2日優(yōu)先權(quán)日2011年8月2日發(fā)明者謝萍,管月智,葉華申請(qǐng)人:上海三一精機(jī)有限公司