這次,我不敢像ActiveX 控件的教程那樣寫上“完全教程”四個(gè)字了,畢竟數(shù)據(jù)庫作為一項(xiàng)技術(shù),其內(nèi)容非常的龐大,很多東西我們單純地在編程中使用數(shù)據(jù)庫的話可能很長久的時(shí)間里都不會(huì)用上。所以在這里只介紹VB6常用的一些操作和一些運(yùn)用的技巧。需要留意的是,本文中很多地使用SQL語句進(jìn)行操作,但是我們用的卻不是SQL數(shù)據(jù)庫本身,而是使用Access數(shù)據(jù)庫,因?yàn)閂B6一般來說不會(huì)開發(fā)很大型的軟件,所以Access數(shù)據(jù)庫就夠用了。
數(shù)據(jù)庫基礎(chǔ)
這是本套教程的第一課,講述的是數(shù)據(jù)庫結(jié)構(gòu)的基礎(chǔ),很多人在做的時(shí)候很茫然,想操作某一些數(shù)據(jù),卻不知道如何操作,該怎么一步步地創(chuàng)建需要的對象的概念在他們的意識(shí)中很模糊,所以也就無從下手了。因此,要學(xué)好數(shù)據(jù)庫就必須了解清楚數(shù)據(jù)庫的結(jié)構(gòu),其實(shí)并不困難。
數(shù)據(jù)庫最基本的當(dāng)然是數(shù)據(jù)庫文件自己了,Access的數(shù)據(jù)庫的文件格式是*.mdb(Access 2007之后的格式是*.accdb,我不建議使用新的格式,因?yàn)閙db的格式在目前還是很通行,新的格式并未廣泛地被接受,當(dāng)然你還是可以用2007以上版本的Access來創(chuàng)建舊版本的mdb數(shù)據(jù)庫的,就像我用的是Access 2013 )。
我建議直接安裝好Office中的Access軟件,這樣你就可以在這個(gè)軟件中編輯數(shù)據(jù)庫的結(jié)構(gòu)了,而不是使用VB6原有的數(shù)據(jù)庫編輯器(那個(gè)已經(jīng)屬于史前級別了~~),也不需要用到SQL語句來創(chuàng)建一個(gè)新的數(shù)據(jù)庫并編輯它的結(jié)構(gòu)(雖然我后面還是會(huì)詳細(xì)說怎么用SQL語句創(chuàng)建一個(gè)新的數(shù)據(jù)庫并編輯它的結(jié)構(gòu))
數(shù)據(jù)庫的下一級結(jié)構(gòu)是“表(Table)”,一個(gè)表就儲(chǔ)存一類的信息(盡管你儲(chǔ)存N類都可以,不過你不覺得亂嗎??),例如我建立一個(gè)StudentInfo表(一個(gè)提示:表的名稱,數(shù)據(jù)庫的名稱,還有后面說到的字段的名稱都不要用中文!雖然支持,但是在程序當(dāng)中用容易出問題),里面就是專門來存儲(chǔ)學(xué)生的信息的,那么老師的信息就別往里面存了,雖然可以,但是不利于管理啊~
表下一級的結(jié)構(gòu)是“字段(Field)”,既然是表,那么就應(yīng)該有表頭,也就是每一列的標(biāo)題(和Excel不同,數(shù)據(jù)庫的行標(biāo)題是沒有意義的,待會(huì)再詳細(xì)說明Access和Excel的區(qū)別),表明這一列的內(nèi)容是什么。
數(shù)據(jù)庫,表,字段是數(shù)據(jù)庫最基本的結(jié)構(gòu)(還有沒有更復(fù)雜的我就不知道了,反正VB6不怎么會(huì)用上。見識(shí)粗淺,請見諒)。在VB6中我們要操作的多數(shù)的是表,數(shù)據(jù)庫的話連接上就可以了。打開表之后用Field對象取出字段的信息,這就是我們操作的最基本流程。數(shù)據(jù)庫的結(jié)構(gòu)決定了我們操作數(shù)據(jù)庫時(shí)也是按照這樣一級級地操作,如下圖:
在上圖的右邊是我們程序操作的流程,其中出現(xiàn)了一個(gè)詞“記錄(Record)”,所謂記錄,說白了就是“行”,我說過字段是列的標(biāo)題,行標(biāo)題是沒有意義的,這是因?yàn)槊恳恍芯褪且粋€(gè)記錄,是一個(gè)整體。不明白嗎?這就是Access與Excel的不同之處,雖然他們在各自的軟件中都是表現(xiàn)為表格的形式??纯此麄兊慕缑妫ǘ际?013版的)
Excel的,哪怕只有個(gè)標(biāo)題,沒有其他數(shù)據(jù),都有很多格子。因?yàn)椴灰笠恍械膬?nèi)容是一個(gè)整體,也就是作為一個(gè)記錄,所以每一個(gè)格子都是獨(dú)立的。
Access的,沒有數(shù)據(jù)就,沒有格子,字段名(第一行StudentID那一行)下面那一行是示意性的,不是一條記錄,只是告訴你在哪里輸入數(shù)據(jù)就可以有一條新的紀(jì)錄。
盡管有些時(shí)候我們用Excel建立表格的時(shí)候會(huì)讓一行的數(shù)據(jù)是一個(gè)整體,但是Excel
這款軟件本身沒有這樣的規(guī)定,而Access是硬性規(guī)定的。例如我們可以建立一個(gè)這
樣的表(指的不是數(shù)據(jù)庫的表):
這樣的表,一張表的所有內(nèi)容才是一個(gè)整體,而不是某一行。
總結(jié)起來,Access數(shù)據(jù)庫的每一行是一個(gè)整體(即一個(gè)記錄),行與行之間獨(dú)立。Excel每個(gè)格子是獨(dú)立的,隨著表格的結(jié)構(gòu)不同來決定那些格子的數(shù)據(jù)綜合起來才是一個(gè)整體。
與“記錄”相關(guān)的一個(gè)詞“記錄集(RecordSet)”,記錄集包含一條或者多條的記錄。記錄集與表有著千絲萬縷的練系,其實(shí)一張表的全部記錄可以是一個(gè)記錄集,一張表其中的幾條記錄可以是一個(gè)記錄集,一張表的一條記錄也可以是一個(gè)記錄集,甚至多個(gè)表的全部或部分記錄合起來作為一個(gè)記錄集也是可以的。
第一章就先說怎么多,理解透了,后面的操作也就不難理解了。順帶說一下,如果電腦上沒裝Access的去下載個(gè)Access2003吧,比較好找,估計(jì)很多人裝Office都是裝只有Word,Excel,PowerPoint的閹割版的,中槍了吧~

下一章:建立數(shù)據(jù)庫 http://blog.csdn.net/jiluoxingren/article/details/9455721