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