第12章訪問(wèn)數(shù)據(jù)庫(kù)_第1頁(yè)
第12章訪問(wèn)數(shù)據(jù)庫(kù)_第2頁(yè)
第12章訪問(wèn)數(shù)據(jù)庫(kù)_第3頁(yè)
第12章訪問(wèn)數(shù)據(jù)庫(kù)_第4頁(yè)
第12章訪問(wèn)數(shù)據(jù)庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩59頁(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、第第12章章 訪問(wèn)數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù) 當(dāng)編寫(xiě)記錄采集數(shù)據(jù)、存儲(chǔ)文件信息、當(dāng)編寫(xiě)記錄采集數(shù)據(jù)、存儲(chǔ)文件信息、回放存儲(chǔ)波形等應(yīng)用程序功能模塊時(shí),通回放存儲(chǔ)波形等應(yīng)用程序功能模塊時(shí),通常需要使用數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)。相對(duì)于文件常需要使用數(shù)據(jù)庫(kù)訪問(wèn)技術(shù)。相對(duì)于文件系統(tǒng)使用數(shù)據(jù)庫(kù)可以方便地實(shí)現(xiàn)大量數(shù)據(jù)系統(tǒng)使用數(shù)據(jù)庫(kù)可以方便地實(shí)現(xiàn)大量數(shù)據(jù)的存儲(chǔ)、管理和條件查詢(xún)。的存儲(chǔ)、管理和條件查詢(xún)。 LabVIEW本身不能直接訪問(wèn)數(shù)據(jù)庫(kù),本身不能直接訪問(wèn)數(shù)據(jù)庫(kù),但是可以通過(guò)使用以下方法來(lái)實(shí)現(xiàn)但是可以通過(guò)使用以下方法來(lái)實(shí)現(xiàn)LabVIEW對(duì)數(shù)據(jù)庫(kù)訪問(wèn)。對(duì)數(shù)據(jù)庫(kù)訪問(wèn)。 (1)利用)利用LabVIEW的的ActiveX功能調(diào)用功能調(diào)用

2、ADO控件,使用控件,使用SQL語(yǔ)言訪問(wèn)數(shù)據(jù)庫(kù)語(yǔ)言訪問(wèn)數(shù)據(jù)庫(kù) (2)利用免費(fèi)數(shù)據(jù)庫(kù)工具包)利用免費(fèi)數(shù)據(jù)庫(kù)工具包LabSQL實(shí)現(xiàn)對(duì)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)數(shù)據(jù)庫(kù)的訪問(wèn) (3)利用)利用LabVIEW中的中的DLL接口間接訪問(wèn)接口間接訪問(wèn)數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù) (4)利用)利用NI提供的專(zhuān)門(mén)的數(shù)據(jù)庫(kù)訪問(wèn)工具提供的專(zhuān)門(mén)的數(shù)據(jù)庫(kù)訪問(wèn)工具包包Database Connectivity Toolkit實(shí)現(xiàn)對(duì)實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)數(shù)據(jù)庫(kù)的訪問(wèn)12.1 Microsoft ADO 12.1.1 Microsoft ADO基礎(chǔ)知識(shí)基礎(chǔ)知識(shí) ADO(ActiveX Data Objects,ActiveX數(shù)據(jù)對(duì)象)是數(shù)據(jù)對(duì)象)是Mi

3、crosoft提出的應(yīng)提出的應(yīng)用程序接口(用程序接口(API)用以實(shí)現(xiàn)訪問(wèn)關(guān)系或非)用以實(shí)現(xiàn)訪問(wèn)關(guān)系或非關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)。關(guān)系數(shù)據(jù)庫(kù)中的數(shù)據(jù)。 ADO訪問(wèn)數(shù)據(jù)源的特點(diǎn)可以概括如下。訪問(wèn)數(shù)據(jù)源的特點(diǎn)可以概括如下。 (1)易于使用,可以說(shuō)這是)易于使用,可以說(shuō)這是ADO最重要的最重要的特點(diǎn)之一。特點(diǎn)之一。 (2)可以訪問(wèn)多種數(shù)據(jù)源,使應(yīng)用程序具)可以訪問(wèn)多種數(shù)據(jù)源,使應(yīng)用程序具有很好的通用性和靈活性。有很好的通用性和靈活性。 (3)訪問(wèn)數(shù)據(jù)源效率高,高速度,低內(nèi)存,)訪問(wèn)數(shù)據(jù)源效率高,高速度,低內(nèi)存,占磁盤(pán)控件小。占磁盤(pán)控件小。 (4)有遠(yuǎn)程數(shù)據(jù)服務(wù)功能,方便的)有遠(yuǎn)程數(shù)據(jù)服務(wù)功能,方便的Web

4、應(yīng)應(yīng)用。用。 (5)只需創(chuàng)建一個(gè))只需創(chuàng)建一個(gè)Connection對(duì)象就可以對(duì)象就可以有多個(gè)獨(dú)立有多個(gè)獨(dú)立Recordset對(duì)象使用它。對(duì)象使用它。12.1.2 Microsoft ADO的對(duì)象模型的對(duì)象模型 ADO通過(guò)編程模型實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操通過(guò)編程模型實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。作。 編程模型意味著對(duì)象模型,即響應(yīng)并編程模型意味著對(duì)象模型,即響應(yīng)并執(zhí)行編程模型的執(zhí)行編程模型的“對(duì)象對(duì)象”組。對(duì)象包含的組。對(duì)象包含的參數(shù)類(lèi)型有:方法、屬性和事件。參數(shù)類(lèi)型有:方法、屬性和事件。 ADO的目的是訪問(wèn)、編輯和更新數(shù)據(jù)的目的是訪問(wèn)、編輯和更新數(shù)據(jù)源。源。 它提供執(zhí)行以下的操作方式。它提供執(zhí)行以下的操作方式。

5、 (1)建立與數(shù)據(jù)源的連接()建立與數(shù)據(jù)源的連接(Connection),),可選。可選。 (2)創(chuàng)建表示命令(如)創(chuàng)建表示命令(如SQL命令)的對(duì)象命令)的對(duì)象(Command),可選。),可選。 (3)在)在SQL命令中指定列、表和值作為變命令中指定列、表和值作為變量參數(shù)(量參數(shù)(Parameter),可選。),可選。 (4)執(zhí)行命令()執(zhí)行命令(Command、Connection 或或 Recordset)。)。 (5)如果命令以行返回,則將行存儲(chǔ)在緩)如果命令以行返回,則將行存儲(chǔ)在緩存中(存中(Recordset)。)。 (6)創(chuàng)建緩存視圖以便對(duì)數(shù)據(jù)進(jìn)行排序、)創(chuàng)建緩存視圖以便對(duì)數(shù)據(jù)

6、進(jìn)行排序、過(guò)濾和定位(過(guò)濾和定位(Recordset),可選。),可選。 (7)通過(guò)添加、刪除或更改行和列來(lái)編輯)通過(guò)添加、刪除或更改行和列來(lái)編輯數(shù)據(jù)(數(shù)據(jù)(Recordset)。)。 (8)適當(dāng)情況下,用緩存中的更改內(nèi)容來(lái))適當(dāng)情況下,用緩存中的更改內(nèi)容來(lái)更新數(shù)據(jù)源(更新數(shù)據(jù)源(Recordset)。)。 (9)在使用事務(wù)之后,可以接受或拒絕在)在使用事務(wù)之后,可以接受或拒絕在事務(wù)中所做的更改,結(jié)束事務(wù)事務(wù)中所做的更改,結(jié)束事務(wù)(Connection)。)。 ADO對(duì)象模型包含有對(duì)象模型包含有9個(gè)對(duì)象。個(gè)對(duì)象。(1)連接對(duì)象)連接對(duì)象(2)命令對(duì)象)命令對(duì)象(3)記錄集對(duì)象)記錄集對(duì)象(4)

7、記錄對(duì)象)記錄對(duì)象 (5)數(shù)據(jù)流對(duì)象)數(shù)據(jù)流對(duì)象 (6)字段對(duì)象)字段對(duì)象 (7)參數(shù)對(duì)象)參數(shù)對(duì)象 (8)屬性對(duì)象)屬性對(duì)象 (9)錯(cuò)誤對(duì)象)錯(cuò)誤對(duì)象1連接對(duì)象連接對(duì)象 對(duì)象模型用對(duì)象模型用connection對(duì)象來(lái)體現(xiàn)連對(duì)象來(lái)體現(xiàn)連接的概念。通過(guò)連接(接的概念。通過(guò)連接(Connection)可從)可從應(yīng)用程序訪問(wèn)數(shù)據(jù)源,連接是交換數(shù)據(jù)所應(yīng)用程序訪問(wèn)數(shù)據(jù)源,連接是交換數(shù)據(jù)所必需的環(huán)境。必需的環(huán)境。 2命令對(duì)象命令對(duì)象 對(duì)象模型用對(duì)象模型用Command對(duì)象來(lái)體現(xiàn)參數(shù)對(duì)象來(lái)體現(xiàn)參數(shù)的概念。的概念?!懊蠲睢蓖ㄟ^(guò)已建立的連接發(fā)出,通過(guò)已建立的連接發(fā)出,它能以某種方式操作數(shù)據(jù)源。命令通??伤?/p>

8、以某種方式操作數(shù)據(jù)源。命令通常可以在數(shù)據(jù)源中添加、刪除或更新數(shù)據(jù),或以在數(shù)據(jù)源中添加、刪除或更新數(shù)據(jù),或者以表中行的格式檢索數(shù)據(jù)。者以表中行的格式檢索數(shù)據(jù)。3記錄集對(duì)象記錄集對(duì)象 對(duì)象模型用對(duì)象模型用Recordset對(duì)象對(duì)來(lái)自提供對(duì)象對(duì)來(lái)自提供者的數(shù)據(jù)進(jìn)行操作。使用者的數(shù)據(jù)進(jìn)行操作。使用ADO時(shí),將幾乎時(shí),將幾乎全部使用全部使用Recordset對(duì)象來(lái)對(duì)數(shù)據(jù)進(jìn)行操作。對(duì)象來(lái)對(duì)數(shù)據(jù)進(jìn)行操作。所有所有Recordset對(duì)象均由記錄(行)和字段對(duì)象均由記錄(行)和字段(列)組成。某些(列)組成。某些Recordset方法或?qū)傩钥煞椒ɑ驅(qū)傩钥赡懿豢捎?,這取決于提供者支持的功能。能不可用,這取決于提供

9、者支持的功能。4字段對(duì)象字段對(duì)象 對(duì)象模型用對(duì)象模型用Field對(duì)象來(lái)體現(xiàn)字段。對(duì)象來(lái)體現(xiàn)字段。 Recordset的一行由一個(gè)或多個(gè)的一行由一個(gè)或多個(gè)“字段字段”組組成。如果把成。如果把Recordset看作二維網(wǎng)格,排成看作二維網(wǎng)格,排成行的字段將構(gòu)成行的字段將構(gòu)成“列列”。每一字段(列)。每一字段(列)都分別具有名稱(chēng)、數(shù)據(jù)類(lèi)型和值等屬性。都分別具有名稱(chēng)、數(shù)據(jù)類(lèi)型和值等屬性。正是在這個(gè)值中包含了來(lái)自數(shù)據(jù)源的實(shí)際正是在這個(gè)值中包含了來(lái)自數(shù)據(jù)源的實(shí)際數(shù)據(jù)。數(shù)據(jù)。 除了包含有除了包含有9個(gè)對(duì)象外,個(gè)對(duì)象外,ADO對(duì)象模型對(duì)象模型還包含有還包含有4個(gè)集合。集合也是一種對(duì)象,它個(gè)集合。集合也是一種對(duì)

10、象,它可方便地包含其他特定類(lèi)型的對(duì)象。使用可方便地包含其他特定類(lèi)型的對(duì)象。使用集合屬性可按名稱(chēng)(文本字符串)或序號(hào)集合屬性可按名稱(chēng)(文本字符串)或序號(hào)(整數(shù))對(duì)集合中的對(duì)象進(jìn)行檢索。(整數(shù))對(duì)集合中的對(duì)象進(jìn)行檢索。(1)Errors集合集合 (2)Parameters集合集合 (3)Fields集合集合 (4)Properties集合集合 ADO對(duì)象包含屬性,可通過(guò)對(duì)象包含屬性,可通過(guò)INTEGER、CHARACTER或或BOOLEAN等公用數(shù)據(jù)類(lèi)等公用數(shù)據(jù)類(lèi)型在其中設(shè)置或檢索值。型在其中設(shè)置或檢索值。 12.2 SQL數(shù)據(jù)庫(kù)語(yǔ)言數(shù)據(jù)庫(kù)語(yǔ)言 SQL(Structured Query Langu

11、age,結(jié)構(gòu)查詢(xún)語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)結(jié)構(gòu)查詢(xún)語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言,集數(shù)據(jù)查詢(xún)(言,集數(shù)據(jù)查詢(xún)(Data Query)、數(shù)據(jù)操作)、數(shù)據(jù)操作(Data Manipulation)、數(shù)據(jù)定義()、數(shù)據(jù)定義(Data Definition)和數(shù)據(jù)控制()和數(shù)據(jù)控制(Data Control)于一體,常用于數(shù)據(jù)庫(kù)的通信。于一體,常用于數(shù)據(jù)庫(kù)的通信。 與與C、Pascal等語(yǔ)言不同,等語(yǔ)言不同,SQL沒(méi)有循沒(méi)有循環(huán)結(jié)構(gòu)(如環(huán)結(jié)構(gòu)(如if-then-else、do-while)以及)以及函數(shù)定義等的功能。而且函數(shù)定義等的功能。而且SQL只有一個(gè)數(shù)只有一個(gè)數(shù)據(jù)類(lèi)型的固定設(shè)置,換句話說(shuō),

12、用戶(hù)不能據(jù)類(lèi)型的固定設(shè)置,換句話說(shuō),用戶(hù)不能在使用其他編程語(yǔ)言的時(shí)候創(chuàng)建自己的數(shù)在使用其他編程語(yǔ)言的時(shí)候創(chuàng)建自己的數(shù)據(jù)類(lèi)型。據(jù)類(lèi)型。12.2.1 SQL基礎(chǔ)知識(shí)基礎(chǔ)知識(shí) SQL語(yǔ)言支持關(guān)系數(shù)據(jù)庫(kù)三級(jí)模式結(jié)語(yǔ)言支持關(guān)系數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu),如圖構(gòu),如圖12-1所示。其中外模式對(duì)應(yīng)于視所示。其中外模式對(duì)應(yīng)于視圖和部分基本表,模式對(duì)應(yīng)于基本表,內(nèi)圖和部分基本表,模式對(duì)應(yīng)于基本表,內(nèi)模式對(duì)應(yīng)于存儲(chǔ)文件。模式對(duì)應(yīng)于存儲(chǔ)文件。圖圖12-1 SQL12-1 SQL對(duì)關(guān)系數(shù)據(jù)庫(kù)模式的支持對(duì)關(guān)系數(shù)據(jù)庫(kù)模式的支持 (1)DML(Data Manipulation Language,數(shù)據(jù)操作語(yǔ)言):用于檢索或修改數(shù)據(jù)

13、。數(shù)據(jù)操作語(yǔ)言):用于檢索或修改數(shù)據(jù)。 DML可以細(xì)分為以下幾個(gè)語(yǔ)句:可以細(xì)分為以下幾個(gè)語(yǔ)句:SELECT:用于檢索數(shù)據(jù):用于檢索數(shù)據(jù)INSERT:用于增加數(shù)據(jù)到數(shù)據(jù)庫(kù):用于增加數(shù)據(jù)到數(shù)據(jù)庫(kù)UPDATE:用于從數(shù)據(jù)庫(kù)中修改現(xiàn)存的數(shù):用于從數(shù)據(jù)庫(kù)中修改現(xiàn)存的數(shù)DELETE:用于從數(shù)據(jù)庫(kù)中刪除數(shù)據(jù):用于從數(shù)據(jù)庫(kù)中刪除數(shù)據(jù) (2)DDL(Data Definition Language,數(shù)據(jù)定義語(yǔ)言):數(shù)據(jù)定義語(yǔ)言): 用于定義數(shù)據(jù)的結(jié)構(gòu),用于定義數(shù)據(jù)的結(jié)構(gòu),比如創(chuàng)建、修改或者刪除數(shù)據(jù)庫(kù)對(duì)象;比如創(chuàng)建、修改或者刪除數(shù)據(jù)庫(kù)對(duì)象;DDL語(yǔ)句可以用于創(chuàng)建用戶(hù)和重建數(shù)據(jù)庫(kù)語(yǔ)句可以用于創(chuàng)建用戶(hù)和重建數(shù)據(jù)庫(kù)對(duì)象

14、。對(duì)象。DDL命令主要有:命令主要有:CREATE TABLE:建立關(guān)系模式:建立關(guān)系模式ALTER TABLE:修改關(guān)系模式:修改關(guān)系模式DROP TABLE:刪除關(guān)系模式:刪除關(guān)系模式CREATE INDEX:建立索引:建立索引DROP INDEX:刪除索引:刪除索引 (3)DCL(Data Control Language,數(shù),數(shù)據(jù)控制語(yǔ)言):用于設(shè)置或者更改數(shù)據(jù)庫(kù)據(jù)控制語(yǔ)言):用于設(shè)置或者更改數(shù)據(jù)庫(kù)用戶(hù)權(quán)限的語(yǔ)句。下面是幾個(gè)用戶(hù)權(quán)限的語(yǔ)句。下面是幾個(gè)DCL命令:命令:ALTER PASSWORD:修改密碼:修改密碼GRANT:授予訪問(wèn)權(quán)限:授予訪問(wèn)權(quán)限REVOKE:解除訪問(wèn)權(quán)限:解除訪

15、問(wèn)權(quán)限 12.2.2 常用常用SQL編程語(yǔ)句編程語(yǔ)句 1創(chuàng)建表創(chuàng)建表 CREAT TABLE語(yǔ)句用于創(chuàng)建和定義新語(yǔ)句用于創(chuàng)建和定義新的基本表。其語(yǔ)法格式為:的基本表。其語(yǔ)法格式為: CREAT TABLE(列級(jí)完整性約束條件列級(jí)完整性約束條件 ,列級(jí)完整性約束條件列級(jí)完整性約束條件 . ,););2改基本表改基本表 ALTER TABLE語(yǔ)句用于在一個(gè)關(guān)系模語(yǔ)句用于在一個(gè)關(guān)系模式中增加、刪除或修改基本表屬性。其語(yǔ)式中增加、刪除或修改基本表屬性。其語(yǔ)法格式為:法格式為: ALTER TABLE ADD完整性約束完整性約束 DROP MODIFY;3刪除表刪除表 DROP TABLE語(yǔ)句用于刪除一

16、個(gè)基本語(yǔ)句用于刪除一個(gè)基本表,其語(yǔ)法格式為:表,其語(yǔ)法格式為: DROP TABLE4插入數(shù)據(jù)行插入數(shù)據(jù)行 INSERT語(yǔ)句用于向數(shù)據(jù)庫(kù)表中添加新語(yǔ)句用于向數(shù)據(jù)庫(kù)表中添加新的行數(shù)據(jù)。其語(yǔ)法格式為:的行數(shù)據(jù)。其語(yǔ)法格式為: INSERT INTO(,.) VALUES(常量(常量1,常量,常量2,.); 如果如果INSERT INTO語(yǔ)句沒(méi)有指定任何語(yǔ)句沒(méi)有指定任何列名,則必須為每個(gè)屬性列賦值,且排列列名,則必須為每個(gè)屬性列賦值,且排列順序必須和數(shù)據(jù)庫(kù)表中的屬性列一致;如順序必須和數(shù)據(jù)庫(kù)表中的屬性列一致;如果只有部分屬性列沒(méi)指定,則新記錄在這果只有部分屬性列沒(méi)指定,則新記錄在這些指定列中取空值。

17、些指定列中取空值。 5查詢(xún)查詢(xún) SELECT語(yǔ)句是數(shù)據(jù)庫(kù)操作中使用最多語(yǔ)句是數(shù)據(jù)庫(kù)操作中使用最多的語(yǔ)句,掌握的語(yǔ)句,掌握SELECT語(yǔ)句是熟練應(yīng)用數(shù)語(yǔ)句是熟練應(yīng)用數(shù)據(jù)庫(kù)的基礎(chǔ)。據(jù)庫(kù)的基礎(chǔ)。 SELECT語(yǔ)句的語(yǔ)法格式為:語(yǔ)句的語(yǔ)法格式為: SELECTALLDISTINCT,. FROM ,. WHERE GROUP BY HAVING ORDER BY ASCDESC;運(yùn)運(yùn) 算算 符符描描 述述使使 用用 方方 法法數(shù)值常量數(shù)值常量12341234“”“”字符(串)常量字符(串)常量abcd“abcd”abcd“abcd”日期常量日期常量3/12/7 123/12/7 12:1111:171

18、7.T.T.,.F.F.邏輯常量邏輯常量.T. .T. ,.F.F.()()優(yōu)先運(yùn)算符優(yōu)先運(yùn)算符(A+BA+B)* *(C CD D)+ + 加減加減A+B A+B ,C CD D* * / /乘乘/ /除除A A* *B B ,C/DC/D+ + 正負(fù)正負(fù)A A+ +字符串連接符字符串連接符txtatxtatxtbtxtb等于等于Where aWhere ab b大于大于 小于小于WHERE abWHERE ab表表12-112-1常見(jiàn)運(yùn)算符常見(jiàn)運(yùn)算符 WHERE ab bININ,NOT INNOT IN判斷表達(dá)式是否包含列表中指判斷表達(dá)式是否包含列表中指定項(xiàng)定項(xiàng)WHERE a INWHE

19、RE a IN(appleapple,eggegg)ANY ALLANY ALL否個(gè)值否個(gè)值 所有值所有值WHERE aWHERE aANY ANY 大于等于子查詢(xún)中的某個(gè)值大于等于子查詢(xún)中的某個(gè)值BETWEENBETWEEN指定值的范圍指定值的范圍WHERE c BETWEEN a AND b WHERE c BETWEEN a AND b (c c在在a a和和b b之間)之間)EXISTS NOT EXISTSEXISTS NOT EXISTS存在判斷存在判斷WHERE EXISTSWHERE EXISTS(SELECTSELECT* *FROMWHEREFROMWHERE)LINK /

20、NOT LINKLINK /NOT LINK模糊查詢(xún),常用于字符串匹配模糊查詢(xún),常用于字符串匹配WHERE name LINKSUNWHERE name LINKSUNNULL/NOT NULLNULL/NOT NULL判斷表達(dá)式是否為空判斷表達(dá)式是否為空WHERE grade IS NULL WHERE grade NOT NULLWHERE grade IS NULL WHERE grade NOT NULL+ +連接運(yùn)算符連接運(yùn)算符 +2NOT AND ORNOT AND OR非與或非與或WHERE aWHERE a1 AND b=1001 AND b=100* *所有列所有列SELEC

21、T SELECT * *FROM table1FROM table1運(yùn)運(yùn) 算算 符符描描 述述使使 用用 方方 法法續(xù)表續(xù)表12.3 通過(guò)通過(guò)LabSQL訪問(wèn)數(shù)據(jù)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù) 12.3.1 LabSQL工具包概述工具包概述 LabSQL是一個(gè)免費(fèi)開(kāi)源的數(shù)據(jù)庫(kù)訪問(wèn)是一個(gè)免費(fèi)開(kāi)源的數(shù)據(jù)庫(kù)訪問(wèn)工具包,它是第三方公司的產(chǎn)品。通過(guò)它工具包,它是第三方公司的產(chǎn)品。通過(guò)它可以訪問(wèn)和操作任何基于可以訪問(wèn)和操作任何基于ODBC的數(shù)據(jù)庫(kù),的數(shù)據(jù)庫(kù),包括包括SQL Server、Access以及以及Oracle等。等。LabSQL內(nèi)包含很多內(nèi)包含很多VI,通過(guò)調(diào)用這些特殊,通過(guò)調(diào)用這些特殊功能的功能的VI可以方便地

22、實(shí)現(xiàn)數(shù)據(jù)庫(kù)的訪問(wèn)??梢苑奖愕貙?shí)現(xiàn)數(shù)據(jù)庫(kù)的訪問(wèn)。 使用使用LabSQL訪問(wèn)數(shù)據(jù)庫(kù)實(shí)質(zhì)是通過(guò)使訪問(wèn)數(shù)據(jù)庫(kù)實(shí)質(zhì)是通過(guò)使用用Microsoft ADO及及SQL語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)庫(kù)語(yǔ)言實(shí)現(xiàn)數(shù)據(jù)庫(kù)的訪問(wèn)。的訪問(wèn)。LabSQL把底層的把底層的ADO操作模塊操作模塊化封裝,主要分為三大模塊,命令模塊、化封裝,主要分為三大模塊,命令模塊、連接模塊、記錄集模塊,如圖連接模塊、記錄集模塊,如圖12-2所示。所示。圖圖12-2 LabSQL ADO12-2 LabSQL ADO函數(shù)選板函數(shù)選板12.3.2 數(shù)據(jù)源的兩種創(chuàng)建方法數(shù)據(jù)源的兩種創(chuàng)建方法 在使用在使用LabSQL前,需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)前,需要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)源并建立數(shù)

23、據(jù)庫(kù)的連接。在實(shí)際工程中會(huì)源并建立數(shù)據(jù)庫(kù)的連接。在實(shí)際工程中會(huì)經(jīng)常使用經(jīng)常使用SQL Server數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)和Access數(shù)數(shù)據(jù)庫(kù)。下面講解如何利用這兩種數(shù)據(jù)庫(kù)來(lái)?yè)?jù)庫(kù)。下面講解如何利用這兩種數(shù)據(jù)庫(kù)來(lái)新建一個(gè)名為新建一個(gè)名為liu的數(shù)據(jù)庫(kù),并在數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù),并在數(shù)據(jù)庫(kù)中新建一個(gè)名為新建一個(gè)名為ziliao的表。的表。1在在SQL Server中創(chuàng)建數(shù)據(jù)庫(kù)的步驟中創(chuàng)建數(shù)據(jù)庫(kù)的步驟圖圖12-3 12-3 新建數(shù)據(jù)庫(kù)新建數(shù)據(jù)庫(kù) 圖圖12-4 12-4 表格設(shè)置窗口表格設(shè)置窗口2在在Access中創(chuàng)建數(shù)據(jù)庫(kù)的步驟中創(chuàng)建數(shù)據(jù)庫(kù)的步驟圖圖12-5 12-5 新建表對(duì)話框新建表對(duì)話框 圖圖12-6 1

24、2-6 設(shè)計(jì)視圖方法創(chuàng)建的表界面設(shè)計(jì)視圖方法創(chuàng)建的表界面12.3.3 數(shù)據(jù)源的三種連接方式數(shù)據(jù)源的三種連接方式 在在Labview中常用的數(shù)據(jù)源連接方式有中常用的數(shù)據(jù)源連接方式有三種:使用三種:使用ODBC設(shè)定系統(tǒng)數(shù)據(jù)源的方式設(shè)定系統(tǒng)數(shù)據(jù)源的方式連接;連接; 使用使用UDL文件的方式連接數(shù)據(jù)源;文件的方式連接數(shù)據(jù)源;以字符串的形式輸入連接信息。以字符串的形式輸入連接信息。1使用使用ODBC設(shè)定系統(tǒng)數(shù)據(jù)源的方式連接設(shè)定系統(tǒng)數(shù)據(jù)源的方式連接圖圖12-7 ODBC12-7 ODBC管理器管理器 圖圖12-8 12-8 數(shù)據(jù)源驅(qū)動(dòng)選擇對(duì)話框數(shù)據(jù)源驅(qū)動(dòng)選擇對(duì)話框圖圖12-9 ODBC12-9 ODBC數(shù)

25、據(jù)源配置向?qū)Т翱跀?shù)據(jù)源配置向?qū)Т翱?使用使用UDL文件的方式連接數(shù)據(jù)源文件的方式連接數(shù)據(jù)源 UDL文件是指通用數(shù)據(jù)連接文件,用文件是指通用數(shù)據(jù)連接文件,用于保存連接字符串。于保存連接字符串。 3以字符串的形式輸入連接信息以字符串的形式輸入連接信息 ConnectionString端子用于設(shè)置或返端子用于設(shè)置或返回建立連接數(shù)據(jù)源的細(xì)節(jié)信息?;亟⑦B接數(shù)據(jù)源的細(xì)節(jié)信息。 12.3.4 LabSQL中的數(shù)據(jù)操作中的數(shù)據(jù)操作【例【例12-8】數(shù)據(jù)庫(kù)的基本操作技巧。】數(shù)據(jù)庫(kù)的基本操作技巧。圖圖12-10 12-10 表表mathmath1條件查詢(xún)條件查詢(xún)圖圖12-11 12-11 條件查詢(xún)條件查詢(xún)2插入數(shù)據(jù)插入數(shù)據(jù)圖圖12-12 12-12 插入數(shù)據(jù)插入數(shù)據(jù)3修改數(shù)據(jù)修改數(shù)據(jù)圖圖12-13 12-13 修改數(shù)據(jù)修改數(shù)據(jù)圖圖12-14 12-14 修改數(shù)據(jù)修改數(shù)據(jù)2 24刪除數(shù)據(jù)刪除數(shù)據(jù)圖圖12-15 12-15 刪除數(shù)據(jù)刪除數(shù)據(jù)圖圖12-16 12-16 刪除數(shù)據(jù)(刪除數(shù)據(jù)(2 2)12.4 通過(guò)通過(guò)ADO控件訪問(wèn)數(shù)據(jù)庫(kù)控件訪問(wèn)數(shù)據(jù)庫(kù) ADO對(duì)象在對(duì)象在LabVIEW中是以中是以ActiveX對(duì)象的形式提供的。對(duì)象的形式提供

溫馨提示

  • 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)論