Delphi教程-Delphi數(shù)據(jù)庫(kù)編程_第1頁(yè)
Delphi教程-Delphi數(shù)據(jù)庫(kù)編程_第2頁(yè)
Delphi教程-Delphi數(shù)據(jù)庫(kù)編程_第3頁(yè)
Delphi教程-Delphi數(shù)據(jù)庫(kù)編程_第4頁(yè)
Delphi教程-Delphi數(shù)據(jù)庫(kù)編程_第5頁(yè)
已閱讀5頁(yè),還剩63頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Delphi教程第10章Delphi數(shù)據(jù)庫(kù)編程10.1數(shù)據(jù)庫(kù)系統(tǒng)開發(fā)基礎(chǔ)數(shù)據(jù)庫(kù)系統(tǒng)主要由三大部分組成:數(shù)據(jù)庫(kù)(按一定結(jié)構(gòu)組織在一起的相關(guān)數(shù)據(jù)的集合)。數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS:它是專門負(fù)責(zé)組織和管理數(shù)據(jù)信息的程序)。數(shù)據(jù)庫(kù)應(yīng)用程序(它使用戶能夠獲取、顯示和更新DBMS存儲(chǔ)的數(shù)據(jù))。10.1.1數(shù)據(jù)庫(kù)的基本概念1.?dāng)?shù)據(jù)庫(kù)(DataBase)數(shù)據(jù)庫(kù)簡(jiǎn)單的定義是:有蘊(yùn)含著一定的意義的數(shù)據(jù),一些按照一定的規(guī)律組織起來(lái)所組成的數(shù)據(jù)集合。在數(shù)據(jù)庫(kù)中除了用一些作為外部信息的數(shù)據(jù)之外,還有一些內(nèi)部信息數(shù)據(jù)。這些數(shù)據(jù)定義了數(shù)據(jù)庫(kù)的用戶及其相應(yīng)的權(quán)限,數(shù)據(jù)庫(kù)表單的定義等等,通常把存放這些數(shù)據(jù)的地方叫做數(shù)據(jù)字典。數(shù)據(jù)字典是有數(shù)據(jù)庫(kù)系統(tǒng)自行創(chuàng)建并自動(dòng)維護(hù)的,它實(shí)際上也是數(shù)據(jù)庫(kù)的一組表和視圖,與其他的表單和試圖并沒有物理結(jié)構(gòu)上的區(qū)別,唯一不同的是它的內(nèi)容。2.關(guān)系數(shù)據(jù)庫(kù)(Relational

DataBase)關(guān)系數(shù)據(jù)庫(kù)是由若干個(gè)表組成的,每一張二維表對(duì)應(yīng)著一種聯(lián)系。表的每一行稱為記錄;表的每一列叫做字段;域就是屬性的取值范圍。對(duì)于dBASE、FoxPro、Paradox這三種數(shù)據(jù)庫(kù)系統(tǒng),數(shù)據(jù)庫(kù)對(duì)應(yīng)于某一個(gè)子目錄,而其他類型如MS

Access、Btrieve則是指某個(gè)文件。表(Table):一個(gè)表就是一組相關(guān)的數(shù)據(jù)按行排列,像一張表一樣。字段(Field):在表中,每一列稱為一個(gè)字段。每一個(gè)字段都用相應(yīng)的描述信息,如數(shù)據(jù)類型、數(shù)據(jù)域等。記錄(Record):在表中,每一行稱為一條記錄。索引(Index):為了加快訪問(wèn)數(shù)據(jù)庫(kù)的速度、許多數(shù)據(jù)庫(kù)都使用索引。主鍵(Key):主鍵是對(duì)于這張表的惟一

標(biāo)識(shí),即一個(gè)列或幾個(gè)列的組合。主鍵最顯

著的特點(diǎn)就是在任何給定的條件,沒有兩個(gè)

主鍵包含相同的值,這個(gè)稱作主鍵的惟一性

原則。同時(shí)主鍵中每一個(gè)屬性都不能被去掉,而同時(shí)仍能夠保持主鍵的惟一性,這個(gè)我們

稱作主鍵的最小性原則。關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)具有很多優(yōu)點(diǎn):關(guān)系數(shù)據(jù)庫(kù)有深厚的理論基礎(chǔ),它是基于關(guān)系代數(shù)和關(guān)系理論的模型。以二維表的形式表示數(shù)據(jù)。表與表之間的聯(lián)系不是硬編碼的。不需要用戶了解它在計(jì)算機(jī)中的物理存儲(chǔ)形式。用系統(tǒng)表來(lái)提供其本身的內(nèi)容和結(jié)構(gòu)。

(6)可以通過(guò)SQL語(yǔ)言來(lái)操縱。SQL語(yǔ)言是專門用于操作這種模型的語(yǔ)言。(7)支持空值的概念。3.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)數(shù)據(jù)庫(kù)管理系統(tǒng)是一個(gè)用來(lái)管理數(shù)據(jù)庫(kù)的軟件,是數(shù)據(jù)庫(kù)能夠正常工作的核心。對(duì)數(shù)據(jù)庫(kù)的所有操作,包括創(chuàng)建各種數(shù)據(jù)庫(kù)的數(shù)據(jù)類型、表單、視圖、存儲(chǔ)過(guò)程,以及其他的數(shù)據(jù)庫(kù)應(yīng)用程序?qū)τ跀?shù)據(jù)庫(kù)中數(shù)據(jù)的讀取和修改,都是經(jīng)由數(shù)據(jù)庫(kù)管理系統(tǒng)完成的。當(dāng)數(shù)據(jù)庫(kù)應(yīng)用程序把對(duì)于數(shù)據(jù)庫(kù)數(shù)據(jù)的操作指令通過(guò)數(shù)據(jù)庫(kù)管理系統(tǒng)的接口函數(shù)發(fā)送給數(shù)據(jù)庫(kù)管理系統(tǒng)后的一切工作都只是數(shù)據(jù)庫(kù)管理系統(tǒng)的的了,數(shù)據(jù)庫(kù)應(yīng)用程序所要做的就只是等候數(shù)據(jù)庫(kù)管理系統(tǒng)把它所需要的數(shù)據(jù)給它,然后進(jìn)行加工處理。4.?dāng)?shù)據(jù)庫(kù)應(yīng)用程序數(shù)據(jù)庫(kù)應(yīng)用程序是通過(guò)DBMS訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)并向用戶提供數(shù)據(jù)服務(wù)的程序。簡(jiǎn)單地說(shuō),它們是允許用戶插入、刪除和修改并報(bào)告數(shù)據(jù)庫(kù)中數(shù)據(jù)的程序。這種程序是由程序員使用通用或者專用的程序設(shè)計(jì)軟件開發(fā)的。10.1.2數(shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程1.?dāng)?shù)據(jù)庫(kù)的建立創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)的過(guò)程有以下幾個(gè)步驟:

(1)確定數(shù)據(jù)庫(kù)的使用范圍(2)確定支持?jǐn)?shù)據(jù)庫(kù)所需要的字段。將字段劃分成一些合理的數(shù)據(jù)表。

(4)確定數(shù)據(jù)表之間的關(guān)聯(lián)。在確定數(shù)據(jù)庫(kù)的需求后,要將這些需求劃分成幾個(gè)合理的數(shù)據(jù)表。所謂合理的數(shù)據(jù)表,通常要滿足以下幾點(diǎn):(1)數(shù)據(jù)表中的字段所描述的內(nèi)容有一定的聯(lián)系。

(2)數(shù)據(jù)表中至少有一個(gè)字段的記錄不是重復(fù)的。

(3)一個(gè)數(shù)據(jù)表與數(shù)據(jù)庫(kù)其他的數(shù)據(jù)表中至少一個(gè)能夠關(guān)聯(lián)。一個(gè)數(shù)據(jù)表與數(shù)據(jù)庫(kù)其他的同一數(shù)據(jù)表不要有多對(duì)多的關(guān)聯(lián)。2.?dāng)?shù)據(jù)表的結(jié)構(gòu)在數(shù)據(jù)表結(jié)構(gòu)中需要一個(gè)關(guān)鍵字段,數(shù)據(jù)表中的數(shù)據(jù)就是按主關(guān)鍵字段的順序存放的,而且利用主關(guān)鍵字能夠高效地與其他數(shù)據(jù)表建立關(guān)聯(lián)。索引也是數(shù)據(jù)表常用的,在數(shù)據(jù)庫(kù)中,利用索引可以加快訪問(wèn)速度。10.1.3數(shù)據(jù)庫(kù)應(yīng)用程序的開發(fā)步驟1.初步設(shè)計(jì)設(shè)計(jì)階段要根據(jù)用戶的需求,定義數(shù)據(jù)庫(kù)和應(yīng)用程序的功能,確定用戶的需求功能哪些在設(shè)計(jì)階段實(shí)現(xiàn),哪些在程序中實(shí)現(xiàn)。功能實(shí)現(xiàn)將客戶需求功能分成幾個(gè)合理的功能塊,分別進(jìn)行程序設(shè)計(jì)、調(diào)試。常見的劃分方法上分成四個(gè)功能塊:(1)信息處理(2)數(shù)據(jù)庫(kù)管理(3)系統(tǒng)維護(hù)(4)輔助功能信息處理是建立數(shù)據(jù)庫(kù)應(yīng)用程序的目的。設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用程序的目的是為客戶提供所需要的信息服務(wù),輔助管理工作,提高工作效率和水平。信息處理最基本的功能包括各類信息查詢,統(tǒng)計(jì)報(bào)表等功能,對(duì)于特定的應(yīng)用程序還可以有特定的功能。數(shù)據(jù)庫(kù)管理的主要功能是負(fù)責(zé)數(shù)據(jù)庫(kù)的更新、修改等。一個(gè)特定的數(shù)據(jù)庫(kù)管理操作要由它的用戶的權(quán)限決定,這個(gè)權(quán)限要由有權(quán)的用戶指定。系統(tǒng)維護(hù)的功能是保證數(shù)據(jù)庫(kù)應(yīng)用程序運(yùn)行的可靠性和安全性,一般包括用戶管理,口令設(shè)置,各類系統(tǒng)變量和數(shù)據(jù)字典維護(hù)等。3.運(yùn)行和維護(hù)程序用戶在使用應(yīng)用程序的過(guò)程中會(huì)對(duì)應(yīng)用程序提出一些建議和要求,根據(jù)用戶的建議和要求對(duì)數(shù)據(jù)庫(kù)應(yīng)用程序進(jìn)行適當(dāng)?shù)男薷暮屯晟疲瑥亩岣叱绦虻男阅堋?0.2

SQL結(jié)構(gòu)化查詢語(yǔ)言基礎(chǔ)10.2.1

SQL語(yǔ)言的發(fā)展目前SQL語(yǔ)言被廣泛地使用,它具有強(qiáng)大的生命力,它使用所有數(shù)據(jù)庫(kù)用戶包括程序員、DBA管理員和終端用戶都受益非淺。SQL語(yǔ)言具有以下優(yōu)點(diǎn):(1)SQL語(yǔ)言是所有關(guān)系數(shù)據(jù)庫(kù)的公共語(yǔ)言。

(2)SQL是非過(guò)程化查詢語(yǔ)言。有兩種方式使用SQL語(yǔ)言:一種是在終端交互方式下使用,稱為交互式SQL語(yǔ)言;另一種是嵌入在高級(jí)語(yǔ)言編寫的程序中使用,稱為嵌入式SQL語(yǔ)言。10.2.2

SQL的基本查詢功能SELECT語(yǔ)句是使用最多的SQL語(yǔ)句,它

完成的是數(shù)據(jù)庫(kù)的查詢功能,SQL

SELECT語(yǔ)句,從數(shù)據(jù)表中選擇出符合條件的記錄。Distinct語(yǔ)句的作用是對(duì)某個(gè)表所選擇的字段數(shù)據(jù),忽略重復(fù)的情況,也就是說(shuō),針對(duì)

某個(gè)字段查詢出來(lái)的記錄結(jié)果是惟一的。1.TOP和ORDER

BY語(yǔ)句TOP語(yǔ)句實(shí)現(xiàn)從第一條或最后一條開始(利用ORDER

BY條件子句),返回特定記

錄的數(shù)據(jù)的功能。如果沒有加上ORDER

BY條件的話,所得到的數(shù)據(jù),將會(huì)是隨機(jī)的數(shù)據(jù)。此外,在TOP語(yǔ)句之后,除了可以加上數(shù)字以外,還可以利用保留字PERCENT來(lái)查詢。排序參數(shù):ASC遞增順序排列,默認(rèn)值。DESC遞減順序控制。2.IN條件字句指定要查詢哪一個(gè)外部數(shù)據(jù)庫(kù)的表。3.HAVING條件子句指定一特定的分組記錄,并滿足HAVING所指定的條件或狀態(tài),但條件是針對(duì)分組的條件設(shè)置。4.GROUP

BY條件子句依據(jù)指定的字段,將具有相同數(shù)值的記錄合并成一條。5.BETWEED…AND運(yùn)算符決定某一數(shù)值是否介于特定的范圍之內(nèi)。

6.LIKE操作數(shù)將一字符串與另一特定字符串樣式比較,并將符合該字符串樣式的記錄過(guò)濾出來(lái)。10.2.3

SQL的其他應(yīng)用1.SQL數(shù)字函數(shù)

(1)AVG:算數(shù)平均數(shù)。COUNT:計(jì)算記錄條數(shù)。FIRST與LAST:返回某字段的第一條數(shù)據(jù)與最后一條數(shù)據(jù)。(4)MAX與MIN:返回某字段最大值與最小值。

(5)SUM:返回某特定字段或是運(yùn)算的總和數(shù)值。

2.SQL查詢的嵌套嵌套的SQL查詢含義在于:在一個(gè)SQL語(yǔ)句中可以包含另一個(gè)SQL查詢語(yǔ)句,形成內(nèi)部嵌套的查詢類型,SELECT語(yǔ)句構(gòu)成的多層SQL查詢,必須用()將該語(yǔ)句括起來(lái)。3.SQL與數(shù)據(jù)庫(kù)的維護(hù)(1)表的建立CREATE

TABLE語(yǔ)句:我們可以利用這個(gè)命令,來(lái)建立一個(gè)全新的表,但前提則是數(shù)據(jù)庫(kù)必須已經(jīng)存在。表索引的建立CREATE

INDEX語(yǔ)句:這個(gè)命令主要是對(duì)一個(gè)已經(jīng)存在的表建立索引。表的刪除DELETE語(yǔ)句:我們可以利用

DELETE語(yǔ)句,將表中的記錄刪除。SELECT…INTO語(yǔ)句:可以通過(guò)這個(gè)命令,利用已經(jīng)存在的表查詢,來(lái)建立一個(gè)新表。INNER

JOIN操作數(shù):當(dāng)某一個(gè)共同的字段數(shù)據(jù)相等時(shí),將兩個(gè)表的記錄加以組合。UNION操作數(shù):可以通過(guò)UNION操作數(shù)來(lái)建立連接的查詢條件,UNION操作數(shù)可以將兩個(gè)以上的表或是查詢的結(jié)果組合起來(lái)。ALTER語(yǔ)句:在一個(gè)表建立后,利用

ALTER語(yǔ)句,可以去修改表的字段設(shè)計(jì)。(8)DROP語(yǔ)句:針對(duì)所指定的表或字段加以刪除,或是把索引刪除。(9)INSERT

INTO語(yǔ)句:新建一條數(shù)據(jù)到表當(dāng)中。

(10)UPDATE語(yǔ)句:建立一個(gè)UPDATE的查詢,通過(guò)條件的限制來(lái)修改特定的數(shù)據(jù)。10.3數(shù)據(jù)庫(kù)應(yīng)用程序的結(jié)構(gòu)與設(shè)計(jì)數(shù)據(jù)庫(kù)應(yīng)用程序的功能是:使用數(shù)據(jù)訪問(wèn)組件,通過(guò)數(shù)據(jù)引擎(提供數(shù)據(jù)庫(kù)驅(qū)動(dòng)程

序),建立與數(shù)據(jù)源(數(shù)據(jù)庫(kù))的連接,并使用數(shù)據(jù)控制組件來(lái)創(chuàng)建用戶界面,以便用戶存取和操縱數(shù)據(jù)庫(kù)中的數(shù)據(jù)。10.3.1應(yīng)用程序的結(jié)構(gòu)在數(shù)據(jù)應(yīng)用程序中,通常包含3種數(shù)據(jù)庫(kù)組件

1.?dāng)?shù)據(jù)集組件訪問(wèn)數(shù)據(jù)庫(kù),通常需要數(shù)據(jù)源,用

DataSource組件描述數(shù)據(jù)源。但該組件不能直接表示數(shù)據(jù),而是引用數(shù)據(jù)庫(kù)表、查詢結(jié)果或存儲(chǔ)過(guò)程。在窗體中還需要使用Table、Query或StoredProc組件,它們直接與數(shù)據(jù)

庫(kù)連接,從中獲取數(shù)據(jù)。常稱之為數(shù)據(jù)集組件,它們通過(guò)BDE為應(yīng)用程序提供與數(shù)據(jù)庫(kù)

的連接。當(dāng)要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)庫(kù)應(yīng)用程序時(shí),先在窗體上放一個(gè)數(shù)據(jù)集組件,然后為數(shù)據(jù)集組件設(shè)置有關(guān)的屬性,指定要訪問(wèn)的數(shù)據(jù)庫(kù)、數(shù)據(jù)表以及表中的記錄等。數(shù)據(jù)控制組件數(shù)據(jù)控制組件為用戶提供一個(gè)可對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)進(jìn)行瀏覽、編輯和輸入等數(shù)據(jù)操作的可視化界面,由于數(shù)據(jù)集組件是不可見的,所以,還必須使用可見的數(shù)據(jù)控制組件來(lái)提供數(shù)據(jù)庫(kù)的顯示,它們通過(guò)數(shù)據(jù)訪問(wèn)組件

DataSource相互連接,數(shù)據(jù)控制組件也稱為數(shù)據(jù)感知(Data-aware)組件。數(shù)據(jù)訪問(wèn)組件數(shù)據(jù)訪問(wèn)組件DataSource負(fù)責(zé)雙方數(shù)據(jù)的收發(fā)。使用戶交互式地對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢、修改、插入和刪除等操作。在同一個(gè)窗體上幾個(gè)數(shù)據(jù)控制組件可以連接到同一個(gè)

DataSource組件,這幾個(gè)數(shù)據(jù)控制組件可以保持同步,因?yàn)閿?shù)據(jù)控制組件總是顯示當(dāng)前數(shù)據(jù)記錄的數(shù)據(jù)。DataSource組件最好放在數(shù)據(jù)模塊上,與用戶界面分開。DataSource組件幾種重要屬性的意義如下:

(1)DataSet屬性:指定相連的數(shù)據(jù)集組件。

(2)State屬性:表示連接的底層數(shù)據(jù)集狀態(tài)。

(3)AutoEdit屬性:確定連接的數(shù)據(jù)集組件是否自動(dòng)處于編輯狀態(tài)。10.4基于BDE與ODBC的數(shù)據(jù)庫(kù)連接10.4.1

BDE簡(jiǎn)介Delphi的Borland數(shù)據(jù)引擎(BDE)可直接訪問(wèn)某些本地?cái)?shù)據(jù)庫(kù),包括dBASE,Paradox,F(xiàn)oxPro,Microsoft

Access,Delphi安裝程序自動(dòng)為這些數(shù)據(jù)庫(kù)安裝了驅(qū)動(dòng)程序,并建立了相應(yīng)的配置。如果將BDE與Borland的SQL

Link驅(qū)動(dòng)程序連接,可以訪問(wèn)Oracle,Sybase,Informix,InterBase和IBM

DB2數(shù)據(jù)庫(kù)。如果要連接的是BDE所不支持的數(shù)據(jù)庫(kù),則可利用BDE所提供的ODBC管道,通過(guò)ODBC來(lái)訪問(wèn)它們。10.4.2配置BDE數(shù)據(jù)源1.BDE管理器BDE管理器使管理Windows注冊(cè)表中的BDE

系統(tǒng)配置信息和BDE配置文件(IDAPI.cfg)中的別名信息的可視化工具。選擇菜單項(xiàng)【開始】|【程序】|【Borland

Delphi7】|【BDE

Administrator】,即打開BDE管理器BDE管理器的Configuration頁(yè)用于顯示和配置相關(guān)數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序,這些驅(qū)動(dòng)程序可分為兩類:Native驅(qū)動(dòng)和ODBC驅(qū)動(dòng)。在

Configuration窗格的驅(qū)動(dòng)程序列表中選擇一個(gè)驅(qū)動(dòng)程序,它的設(shè)置參數(shù)便會(huì)顯示在

Definition窗格中,以便查看和修改。數(shù)據(jù)庫(kù)別名在實(shí)際應(yīng)用中,計(jì)算機(jī)尤其是文件服務(wù)器會(huì)經(jīng)常更換。相應(yīng)地,各種數(shù)據(jù)庫(kù)操作也要轉(zhuǎn)移到新數(shù)據(jù)庫(kù)服務(wù)器上進(jìn)行,因而需要對(duì)數(shù)據(jù)庫(kù)重新定位。BDE通過(guò)數(shù)據(jù)庫(kù)別名(數(shù)據(jù)源)解決這個(gè)問(wèn)題。在數(shù)據(jù)庫(kù)應(yīng)用程序中,當(dāng)數(shù)據(jù)從一個(gè)地方轉(zhuǎn)移到另一個(gè)地方時(shí),只要修改別名重新定位數(shù)據(jù)庫(kù)位置即可,源程序不必修改。配置數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序在BDE管理器Configuration頁(yè)中,左窗格(Configuration)顯示驅(qū)動(dòng)程序列表,其中Native驅(qū)動(dòng)和ODBC驅(qū)動(dòng)分列為兩項(xiàng),右窗格(Difinition)顯示當(dāng)前驅(qū)動(dòng)程序的配置。

Native驅(qū)動(dòng)和ODBC驅(qū)動(dòng)配置方法略不同。Native列表中列出了已有的Native驅(qū)動(dòng)程序名稱,可以對(duì)其中的驅(qū)動(dòng)程序進(jìn)行配置。不同驅(qū)動(dòng)程序的可配置項(xiàng)目有所有同。ODBC列表中列出了已有的ODBC驅(qū)動(dòng)程序名稱,可以添加新的ODBC驅(qū)動(dòng)程序。當(dāng)然也可以對(duì)其中的驅(qū)動(dòng)程序進(jìn)行配置。配置好了驅(qū)動(dòng)程序之后,要選擇菜單項(xiàng)【Object】|【Apply】,將配置保存起來(lái)。然后切換到Databases頁(yè),即可使用配置好的

驅(qū)動(dòng)程序來(lái)建立數(shù)據(jù)源。4.建立BDE數(shù)據(jù)源(1)右擊Databases頁(yè),選擇快捷菜單New項(xiàng)。

(2)在Databse

Driver

Name下拉列表中選擇一種數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序,單擊OK按鈕,生成一個(gè)數(shù)據(jù)源。如果選擇的是STANDARD,則自動(dòng)生成名為Standard1的數(shù)據(jù)源,并顯示在

Databases頁(yè)的樹形數(shù)據(jù)庫(kù)別名表中。(3)根據(jù)需要修改數(shù)據(jù)源的名稱,配置右側(cè)

Definition頁(yè)中的參數(shù)值。(4)右擊剛創(chuàng)建的數(shù)據(jù)庫(kù)別名,選擇快捷菜單

Apply項(xiàng),按提示保存數(shù)據(jù)庫(kù)別名配置。10.4.3建立ODBC數(shù)據(jù)源以Access數(shù)據(jù)庫(kù)為例說(shuō)明創(chuàng)建ODBC數(shù)據(jù)源的方法。1.打開ODBC數(shù)據(jù)源管理器在BDE管理器窗口中,選擇Object菜單的ODBC

Administrator項(xiàng),或使用Windows控制面板中的ODBC對(duì)

象,打開ODBC數(shù)據(jù)源管理器窗口。為了便于訪問(wèn)數(shù)據(jù),Windows系統(tǒng)提供了

ODBC數(shù)據(jù)源管理工具,該工具用來(lái)設(shè)置數(shù)

據(jù)源的名字DSN(Data

Source

Name)。

DSN是一個(gè)數(shù)據(jù)源的標(biāo)志,目的是便于應(yīng)用程序訪問(wèn)數(shù)據(jù),即只要某個(gè)數(shù)據(jù)設(shè)置了相應(yīng)的DSN,應(yīng)用程序就不必理會(huì)該數(shù)據(jù)庫(kù)存儲(chǔ)的位置和驅(qū)動(dòng)程序,可以按DSN直接訪問(wèn)數(shù)據(jù)庫(kù)。DSN有三種類型:用戶DSN:只對(duì)設(shè)置它的用戶可見,而且只能在設(shè)置了該DSN的機(jī)器上使用。系統(tǒng)DSN:對(duì)機(jī)器上的所有用戶都是可見的,包括NT服務(wù)。文件DSN:將DSN的配置信息存在一個(gè)文件里,這樣的文件就叫文件DSN。2.選擇【用戶DSN】選項(xiàng)卡,單擊【添加】按鈕,打開創(chuàng)建數(shù)據(jù)源對(duì)話框。選擇

Microsoft

Access

Driver(*.mdb),并單擊【完成】按鈕。在彈出的對(duì)話框中設(shè)置數(shù)據(jù)源名為Huoyun,通過(guò)【選擇】按鈕選擇數(shù)據(jù)庫(kù),或通過(guò)【創(chuàng)建】按鈕創(chuàng)建新數(shù)據(jù)庫(kù),還可以修復(fù)和壓縮數(shù)據(jù)庫(kù),還可通過(guò)“高級(jí)”按鈕設(shè)置登錄名稱和密碼。點(diǎn)【選擇】按鈕,選擇一個(gè)已經(jīng)存在的Access數(shù)據(jù)庫(kù)D:\MyDocuments\HY.mdbs數(shù)據(jù)庫(kù)。輸入數(shù)據(jù)源的名稱“huoyun”,說(shuō)明部分

輸入一些對(duì)所創(chuàng)建的數(shù)據(jù)源進(jìn)行描述的文字,也可不輸入,設(shè)置之后,單擊【確定】按鈕

保存設(shè)置這樣就配置好了DSN,關(guān)閉ODBC數(shù)據(jù)源管理器。關(guān)閉所有使用BDE的應(yīng)用程序,打開BDE管理器窗口,切換到DataBase頁(yè),即可看到新建的ODBC數(shù)據(jù)源“huoyun”。10.4.4

使用數(shù)據(jù)庫(kù)瀏覽器Database

Explorer的功能是定義數(shù)據(jù)庫(kù),裝載數(shù)據(jù)庫(kù),管理數(shù)據(jù)庫(kù),還可以直接執(zhí)行

SQL語(yǔ)句。1.打開數(shù)據(jù)庫(kù)瀏覽器窗口選擇菜單項(xiàng)【開始】|【程序】|【Borland

Delphi

7】|【SQL

Explorer】,或在Delphi集成開發(fā)環(huán)境的主窗口中選擇菜單項(xiàng)【Database】|【Explore】,都可以打開SQL

Explore窗口在SQL

Explorer窗口的Databases頁(yè),左(Databases)窗格顯示所有的數(shù)據(jù)庫(kù)別名

列表,右(Definition)窗格顯示當(dāng)前數(shù)據(jù)庫(kù)別名的配置。本例中,需要給數(shù)據(jù)庫(kù)瀏覽器指

定要操作Microsoft

Access示例數(shù)據(jù)庫(kù)HY.mdb。方法如下:(1)在左窗格選定已建立的數(shù)據(jù)庫(kù)別名HYDB。(2)在右窗格修改HYDB的配置,利用DATABASE

NAME格的按鈕,將該屬性設(shè)置為d:\My

Docments\HY.mdbB。(3)在右窗格修改ODBC

DSN的配置,選擇下拉框Huoyun選項(xiàng)。(4)選擇Object菜單Apply項(xiàng),保存所做設(shè)置。2.打開數(shù)據(jù)集在數(shù)據(jù)庫(kù)瀏覽器中打開數(shù)據(jù)集步驟如下:在SQL

Explorer窗口Databases頁(yè)左窗格中,選定數(shù)據(jù)庫(kù)別名HYDB。選擇Object菜單的Open項(xiàng),彈出數(shù)據(jù)庫(kù)連接(Database

Login)對(duì)話框。單擊OK按鈕,即可打開HY.mdb數(shù)據(jù)庫(kù)。單擊HYDB項(xiàng)左側(cè)的

號(hào),展開它,則HY.mdb數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)表對(duì)象、查詢對(duì)象都會(huì)顯示出來(lái)。選定“報(bào)價(jià)”表,并在右側(cè)切換到Data窗格,

“報(bào)價(jià)”表內(nèi)容在Data窗格顯示出來(lái)。操縱數(shù)據(jù)庫(kù)

(1)瀏覽數(shù)據(jù)。選定整個(gè)記錄:數(shù)據(jù)表最左邊有一列用于選定記錄的按鈕,單擊某個(gè)即選定它所在的記錄;可利用垂直滾動(dòng)條配合操作。另外,工具欄右半部是與DBNavigator控件相仿的如下圖所示查找工具欄,可用于移動(dòng)記錄指針或進(jìn)行插入、刪除等操作。選定整個(gè)字段:?jiǎn)螕糇侄蚊纯蛇x定一個(gè)字段,可利用水平滾動(dòng)條配合操作。選定指定記錄的指定字段:數(shù)據(jù)集中的數(shù)據(jù)是以網(wǎng)格形式顯示的,單擊某個(gè)網(wǎng)格,即可選定它。可利用垂直滾動(dòng)條和水平滾動(dòng)條配合操作。瀏覽備注型字段(以Memo標(biāo)記):備注型字段內(nèi)容是一些長(zhǎng)度差別較大的字符串。單擊某個(gè)記錄中備注型字段的網(wǎng)格時(shí),會(huì)彈出一個(gè)窗口,顯示它的內(nèi)容(文字或空白)。瀏覽圖片字段(以Graphics標(biāo)記):?jiǎn)螕魣D片字段所在的網(wǎng)格,就會(huì)彈出一個(gè)窗口,顯示該字段的內(nèi)容(圖片或空白)。(2)利用數(shù)據(jù)庫(kù)瀏覽器也可對(duì)數(shù)據(jù)集進(jìn)行編輯、插入、刪除、復(fù)制和移動(dòng)等操作。編輯操作:選定要編輯記錄,單擊EditRecord()按鈕切換到編輯狀態(tài),然后修改各字段的值。編輯結(jié)束后,單擊Cancel

Edit()按鈕或選定其他記錄退出編輯狀態(tài)。插入操作:選定一個(gè)記錄,單擊InsertRecord()按鈕,則所選記錄之前插入一個(gè)空記錄(帶有*符號(hào))。輸入一個(gè)記錄的內(nèi)容之后,單擊Post

Edit再插入一個(gè)記錄,或單擊Cancel

Edit退出插入狀態(tài)。刪除記錄:選定要?jiǎng)h除的記錄,單擊DeleteRecord()按鈕,則彈出一個(gè)消息框提問(wèn)是否真要?jiǎng)h除。單擊OK按鈕即可刪除記錄,單擊Cancel按鈕不刪除記錄。4.使用SQL語(yǔ)句執(zhí)行查詢使用SQL查詢數(shù)據(jù)庫(kù)的步驟如下:在左窗格中選擇一個(gè)數(shù)據(jù)庫(kù)對(duì)象(表、查詢等)。在右窗格中,切換到Enter

SQL頁(yè),在編輯框中輸入一個(gè)SQL語(yǔ)句。單擊execute

query按鈕,執(zhí)行SQL語(yǔ)句。10.5數(shù)據(jù)庫(kù)操縱對(duì)數(shù)據(jù)庫(kù)的存取和控制稱為數(shù)據(jù)庫(kù)操縱,包括數(shù)據(jù)的查詢、讀取、插入、刪除和更新等各種操作。既可利用Delphi本身的功能進(jìn)行數(shù)據(jù)庫(kù)操縱,也可使用通用數(shù)據(jù)庫(kù)的結(jié)構(gòu)化查詢語(yǔ)言(SQL)來(lái)進(jìn)行。10.5.1

字段的操作Delphi用字段對(duì)象(TField組件)來(lái)表示數(shù)據(jù)集中的字段。字段對(duì)象附屬于數(shù)據(jù)集組件,在程序設(shè)計(jì)和運(yùn)行過(guò)程中都是不可見的。每當(dāng)數(shù)據(jù)集組件從數(shù)據(jù)庫(kù)中獲得數(shù)據(jù)時(shí),就將其(當(dāng)前記錄)放入字段對(duì)象中。利用字段對(duì)象可取得當(dāng)前字段的值,設(shè)置它的值,而且能夠通過(guò)修改字段對(duì)象的屬性來(lái)改變數(shù)據(jù)集。字段對(duì)象的創(chuàng)建有兩種方式:(1)在應(yīng)用程序打開數(shù)據(jù)集時(shí)自動(dòng)創(chuàng)建。將數(shù)據(jù)集組件的Active屬性設(shè)為True,或執(zhí)行它們的Open方法,即可創(chuàng)建字段對(duì)象。這種方式稱為動(dòng)態(tài)創(chuàng)建。這樣創(chuàng)建的字段對(duì)象在單元文件中沒有聲明語(yǔ)句。當(dāng)數(shù)據(jù)集關(guān)閉,即當(dāng)數(shù)據(jù)集組件的Active屬性設(shè)為False或執(zhí)行它們的Close方法時(shí),便會(huì)自動(dòng)撤消。(2)通過(guò)字段編輯器創(chuàng)建字段對(duì)象。這種方式創(chuàng)建的字段對(duì)象稱為靜態(tài)字段對(duì)象,在關(guān)閉數(shù)據(jù)集時(shí)不會(huì)撤消。1.字段的數(shù)據(jù)類型一個(gè)字段對(duì)象用來(lái)表示數(shù)據(jù)集中一列的特征,也用于表示字段的顯示特征,另外,當(dāng)在數(shù)

據(jù)集的記錄之間滾動(dòng)時(shí),字段對(duì)象將更新當(dāng)

前字段的值,并顯示給用戶查看。數(shù)據(jù)集中的字段有多種數(shù)據(jù)類型,每種數(shù)據(jù)類型都有一個(gè)獨(dú)立的TField類型與之對(duì)應(yīng)。常用的TField類型有:TBooleanField(布爾型)、TCurrencyField(貨幣型)、TStringField(字符串型)、TIntegerField(整數(shù))、TFloatField(浮點(diǎn)型)和TBLOB(二進(jìn)制對(duì)象)。使用最多的是TStringField和TIntegerField類型的字段對(duì)象。2.字段對(duì)象的訪問(wèn)(1)數(shù)據(jù)集組件有一個(gè)默認(rèn)的數(shù)組屬性FieldValues,這個(gè)數(shù)組以Variant類型返回字段的值,利用它可以存取字段值,利用它可

以存取字段值。利用數(shù)據(jù)集組件的數(shù)組屬性Fields也可以存取字段的值。Fields屬性的每個(gè)元素都代表一個(gè)字段,這樣就可以按序號(hào)(從0開始)來(lái)訪問(wèn)字段的值。利用數(shù)據(jù)集組件的FieldByName方法,通過(guò)列名也可訪問(wèn)字段對(duì)象。FieldByName方法以數(shù)據(jù)集的字段名作為參數(shù)(用引號(hào))。編輯當(dāng)前記錄中一個(gè)字段的操作步驟如下:調(diào)用數(shù)據(jù)集組件的Edit方法,使數(shù)據(jù)集處于編輯狀態(tài)。給當(dāng)前字段賦新值。調(diào)用Post方法將數(shù)據(jù)的變化提交給數(shù)據(jù)集。(5)在數(shù)據(jù)集中插入或刪除記錄時(shí)需以下操作。調(diào)insert或append方法,使數(shù)據(jù)集處于相應(yīng)模式。對(duì)數(shù)據(jù)集中的字段賦值。調(diào)用方法將數(shù)據(jù)的變化提交給數(shù)據(jù)。3.創(chuàng)建靜態(tài)字段創(chuàng)建靜態(tài)對(duì)象要用到字段編輯器。

(1)雙擊Table組件,打開字段編輯器。右擊字段編輯器,選擇ADD

Fields項(xiàng),彈出添加字段對(duì)話框。在添加字段對(duì)話框中選定要?jiǎng)?chuàng)建靜態(tài)字段對(duì)象的字段,單擊OK按鈕,將選定的字段添加到字段編輯器中。4.訪問(wèn)靜態(tài)字段選擇要設(shè)置屬性的字段,在對(duì)象觀察器中修改字段對(duì)象的屬性。Alignment:設(shè)置字段在數(shù)據(jù)控制組件中的對(duì)齊方式,左對(duì)齊、右對(duì)齊和居中。Display

Label:說(shuō)明字段對(duì)象咱DBGrid組件中的顯示的標(biāo)題,默認(rèn)為字段對(duì)象名稱。Display

Width:字段對(duì)象在DBGrid組件中顯示的列的寬度。FileName:字段對(duì)象對(duì)應(yīng)的字段名稱。

5.Index:字段對(duì)象在DataSet組件中的索引號(hào),從0開始。Name:字段對(duì)象名。ReadOnly:相應(yīng)字段是否能修改。8.Visible:相應(yīng)字段是否在DBGrid中顯示。

9.EditMask:設(shè)置掩碼編輯格式。10.MaxValue和MinValue:設(shè)置字段最大最小值,超范圍時(shí)產(chǎn)生EdatabaseError異常。靜態(tài)字段對(duì)象的訪問(wèn)相對(duì)于動(dòng)態(tài)字段對(duì)象來(lái)要簡(jiǎn)單得多,在程序中可以直接通過(guò)字段對(duì)象的名稱(即Name屬性)來(lái)訪問(wèn)。10.5.2使用Tabel組件的記錄查找在數(shù)據(jù)集中檢索記錄中有幾種方式:一是使用Locate函數(shù)或Lookup函數(shù)進(jìn)行檢索;二是使用GotoKey方法或FindKey方法,基于索引關(guān)鍵字進(jìn)行檢索;三是使用GotoNearest方法或FindNearrest方法,執(zhí)行非精確匹配檢索。使用Locate方法的通用查找Table組件的Locate方法和Lookup方法可以在任何數(shù)據(jù)表中按任何類型的字段來(lái)搜索記錄,數(shù)據(jù)表不必建立索引。Locate方法用來(lái)在數(shù)據(jù)表中搜索一條符件條件的記錄,如果找到的話,該記錄即可成為當(dāng)前記錄。在使用Locate方法執(zhí)行查詢之前,先要調(diào)用SetKey方法,將連接表的

Table組件設(shè)置成查詢狀態(tài)。使用GotoKey方法的索引查找able組件的GotoKey方法可以基于索引中的字段搜索匹配的記錄,并使找到的記錄成為當(dāng)前記錄。使用GotoKey方法查找步驟如下確保待查字段是關(guān)鍵字段(索引中的字段)或已經(jīng)為它定義了輔助索引。調(diào)用SetKey方法,將連接表的Table組件設(shè)置成為查詢狀態(tài)。為每個(gè)待查字段設(shè)置目標(biāo)值。調(diào)用GotoKey方法實(shí)現(xiàn)查詢,并測(cè)試它的返回值判斷查詢是否成功。3.使用FindKey方法的索引查找將設(shè)置查找狀態(tài)、設(shè)置查找值,以及執(zhí)行查找集中在一個(gè)方法調(diào)用中實(shí)現(xiàn)。FindKey方法接受的參數(shù)是放在方括號(hào)中的,是用逗號(hào)分開的查找值數(shù)組。數(shù)組中的每個(gè)值都對(duì)應(yīng)于特定字段的查找值,即參數(shù)中允許有多個(gè)查找值,F(xiàn)indKey允許用戶同時(shí)查找數(shù)據(jù)集中的多個(gè)字段。4.使用GotoNearest和FindNearest方法的近似查找不要求查找結(jié)果與查找值精確匹配。如果找到與指定值匹配的記錄,則將記錄指針到該記錄處,否則,將會(huì)出與指定值最接近的記錄并將記錄指針指向它。10.5.3使用Query組件的SQL查詢1.連接數(shù)據(jù)庫(kù)表使用Query組件構(gòu)造數(shù)據(jù)庫(kù)應(yīng)用程序需要

一個(gè)DataSource組件來(lái)和數(shù)據(jù)控制組件相連,而且也要通過(guò)DataBaseName屬性指定數(shù)據(jù)庫(kù)名稱或目錄路徑。Query組件和Table組件的不同之處在于,它沒有TableName屬性,而是用SQL屬性編寫語(yǔ)句和某個(gè)數(shù)據(jù)集相連并相連并選擇要顯示的域。2.SQL命令文本的編寫使用字符串列表編輯器編寫利用Query組件的SQL屬性打開字符串列

表編輯器,鍵入SQL語(yǔ)句之后,單擊OK按鈕可將編輯器中的SQL命令文本裝入SQL屬性中。也可右擊編輯器,選擇Save項(xiàng),將編好的SQL命令保存到一個(gè)文件中供使用。打開字符串列表編輯器之后,還可右擊編輯器,選擇快捷菜單的Load項(xiàng),從一個(gè)

SQL命令文件中調(diào)入SQL命令。使用SQL構(gòu)造器(SQL

Builder)可用于編寫

Select語(yǔ)句。右擊Query組件,選擇快捷菜單的SQLBuilder項(xiàng),彈出SQL

Builder對(duì)話框。SQL構(gòu)造器的上半部用于選擇數(shù)據(jù)、數(shù)據(jù)表,以及表中的字段等;下半部用于選擇性地構(gòu)造查詢條件。在SQL構(gòu)造器中組織好一個(gè)查詢并退出構(gòu)造器時(shí),其中的SQL命令會(huì)自動(dòng)寫入相應(yīng)SQL

Builder組件的SQL屬性。3.靜態(tài)查詢SQL語(yǔ)句有兩種:靜態(tài)SQL語(yǔ)句和動(dòng)態(tài)

SQL語(yǔ)句。靜態(tài)SQL語(yǔ)句在程序設(shè)計(jì)階段就

已經(jīng)固定了。而動(dòng)態(tài)SQL語(yǔ)句則在語(yǔ)句中加入一些參數(shù),在程序運(yùn)行過(guò)程中,可以改變參數(shù)的值,即可以動(dòng)態(tài)地給SQL語(yǔ)句中的參數(shù)賦值。4.動(dòng)態(tài)查詢對(duì)于較復(fù)雜的查詢,一般采用動(dòng)態(tài)查詢,即在程序運(yùn)行期可以改變查詢條件的查詢。動(dòng)態(tài)SQL語(yǔ)句就是參數(shù)化的語(yǔ)句,即在

SQL語(yǔ)句中包含著表示字段名或表名的參數(shù)動(dòng)態(tài)SQL語(yǔ)句的編寫方式可通過(guò)參數(shù)編輯器賦值。方法是:在對(duì)象觀察器中,找到Query組

件的Parames屬性,打開參數(shù)編輯器。在其

中的參數(shù)列表中選擇一個(gè)參數(shù),對(duì)象觀察器

便會(huì)顯示參數(shù)屬性。其中,DataType屬性表

示參數(shù)數(shù)據(jù)類型,ParamType屬性表示參數(shù)

使用類型,Value屬性具有參數(shù)的值(Value)和類型(Type)兩個(gè)子屬性。設(shè)置了參數(shù)之后,關(guān)閉參數(shù)編輯器,打開

Query組件所連接的數(shù)據(jù)庫(kù),則在與Query組件相連接的數(shù)據(jù)控制組件中會(huì)顯示查詢結(jié)果還可在應(yīng)用程序運(yùn)行過(guò)程中為參數(shù)賦值,這是使用可變參數(shù)的主要方法,這種賦值方法分為以下3種情況:(1)使用Parems屬性按序號(hào)訪問(wèn)參數(shù)Query組件的Params屬性在設(shè)計(jì)時(shí)不可有,在程序運(yùn)行過(guò)程中可用而且是動(dòng)態(tài)建立的。在為Query組件編寫動(dòng)態(tài)SQL語(yǔ)句時(shí),Delphi自動(dòng)建立一個(gè)數(shù)組Params,數(shù)組從0下標(biāo)開始,依次對(duì)應(yīng)SQL語(yǔ)句中的參數(shù),即命令中第一個(gè)參數(shù)對(duì)應(yīng)Params[0],第二個(gè)參數(shù)對(duì)應(yīng)

Params[1],依此類推。使用ParemByName函數(shù)按名稱訪問(wèn)參數(shù)

ParemByName是一個(gè)函數(shù),用動(dòng)態(tài)SQL語(yǔ)句中的參數(shù)作為調(diào)用ParemByName函數(shù)的參數(shù),這樣便可為其賦值。使用DataSource屬性從另一個(gè)數(shù)據(jù)集獲得參數(shù)使用上述兩種方法的前提是用戶預(yù)先知道具體的參數(shù)值,而在有些程序中,參數(shù)值是無(wú)法確定的。這就需要設(shè)置Query組件的

DataSource屬性值,其值為另一個(gè)

DataSource組件的名字。10.6基于ADO的數(shù)據(jù)庫(kù)應(yīng)用程序10.6.1

ADO組件ADO組件(Delphi中稱為dbGo組件)位于Delphi組件面板上的ADO頁(yè)如圖所示,這些組件可用于連接ADO數(shù)據(jù)存儲(chǔ)、執(zhí)行命令、檢索基于ADO機(jī)制的數(shù)據(jù)庫(kù)表中的數(shù)據(jù)。多數(shù)ADO組件都能在按其功能在BDE組件面板中找到相應(yīng)的組件。圖10-24

ADO組件頁(yè)ADOConnectionADOConnection組件位于ADO組件板的第一個(gè)組件,該組件用于與數(shù)據(jù)庫(kù)建立連接。

TADOConnection組件中還有兩個(gè)屬性:

CommandTimeout和ConnectionTimeout。這兩個(gè)屬性主要用于連接遠(yuǎn)程數(shù)據(jù)庫(kù)時(shí)相關(guān)參數(shù)的設(shè)定。ADOConnection組件和BDE組件板中的

Database組件功能相似。ADOCommandADOCommand組件位于ADO組件板的第二個(gè)組件,該組件有CommandType與CommandText兩個(gè)重要屬性。ADODataSetADODataSet組件位于ADO組件板的第三個(gè)組件,通過(guò)ADODataset組件,可以直接與一個(gè)表進(jìn)行連接,也可以執(zhí)行SQL語(yǔ)句,還可以執(zhí)行存儲(chǔ)過(guò)程。在使用時(shí),首先設(shè)定其Connection屬性為ADOConnection組件,沒

有ADOConnection組件就直接設(shè)定

ConnectionString屬性。接著有兩個(gè)重要屬性

CommandType與CommandText需要設(shè)定。ADOQueryADOQuery組件位于ADO組件板的第四個(gè)組件,提供數(shù)據(jù)庫(kù)連接接口一致化。5.ADOTableADOTable組件位于ADO組件板的第五個(gè)

組件,如果程序中使用ADOConnection連接組件,直接設(shè)定該組件的Connection屬性為

ADOConnection組件即可。另外一個(gè)重要屬性就是Active屬性,該屬性用來(lái)設(shè)置打開或關(guān)閉與該組件相連數(shù)據(jù)表。其值若為True,則打開數(shù)據(jù)表;若為False,則關(guān)閉數(shù)據(jù)表。ADOTable組件與BDE中的Table組件對(duì)應(yīng)。

6.ADOStoredProcADOStoredProc組件位于ADO組件板的第六個(gè)組件,用于完成數(shù)據(jù)存儲(chǔ)過(guò)程。ADOStoredProc組件與BDE中的組件

StoredProc對(duì)應(yīng)。10.6.2通過(guò)ADO連接數(shù)據(jù)庫(kù)1.構(gòu)造連接字符串在對(duì)象觀察中選擇數(shù)據(jù)集組件的

ConnectionString屬性,單擊屬性項(xiàng)右側(cè)的符號(hào)按鈕,打開連接字符串對(duì)話框。連接字符串對(duì)話框中有兩個(gè)單選項(xiàng),提供了兩種不同的連接方式。使用數(shù)據(jù)鏈接文件:數(shù)據(jù)鏈接文件是一個(gè)擴(kuò)展名為.UDL的文件,其中存放了一個(gè)連接字符,用戶可以預(yù)先建立數(shù)據(jù)鏈接文件,以便連接字符串能夠重復(fù)利用。使用連接字符串:選擇了該項(xiàng)就需要自己創(chuàng)

建一個(gè)連接字符串??梢栽谙鄳?yīng)的文本框中

鍵入一個(gè)連接字符串,但一般來(lái)說(shuō),還要進(jìn)

行數(shù)據(jù)引擎的選擇,所以,應(yīng)單擊Build按鈕,打開數(shù)據(jù)鏈接屬性對(duì)話框。選擇數(shù)據(jù)庫(kù)引擎。在對(duì)話框的Provider頁(yè),選擇要連接的OLE

DB提供者。選擇了數(shù)據(jù)提供者之后,可以單擊Next按鈕或單擊Connection頁(yè)標(biāo)簽,切換到

Connection頁(yè),該頁(yè)會(huì)按前面選擇的數(shù)據(jù)提供者的不同而顯示不同的設(shè)置項(xiàng)。2.連接本地?cái)?shù)據(jù)庫(kù)10.7人力資源管理系統(tǒng)開發(fā)10.7.1需求分析人事管理系統(tǒng)就是要實(shí)現(xiàn)對(duì)某單位的職工進(jìn)行管理,整個(gè)系統(tǒng)包括人事資料錄入、資料查詢、資料刪除等功能。經(jīng)分析后,本系統(tǒng)具有以下3個(gè)功能模塊:1.系統(tǒng)功能用戶管理模塊。該模塊主要是實(shí)現(xiàn)操作用戶的增加、刪除和修改。密碼修改模塊。該模塊主要實(shí)現(xiàn)各操作用戶修改自己的操作密碼,系統(tǒng)管理用戶可以修改其他用戶的密碼。系統(tǒng)初始化模塊。主要用來(lái)實(shí)現(xiàn)初始化功能。(4)退出模塊。就是退出系統(tǒng)。

2.人事管理主要實(shí)現(xiàn)人事信息的增加、修改和刪除等功能。3.人事查詢實(shí)現(xiàn)按各種條件進(jìn)行查詢,并且

溫馨提示

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

評(píng)論

0/150

提交評(píng)論