資源描述:
《工銀瑞信金融地產(chǎn)行業(yè)股票型證券投資基金》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、vb數(shù)據(jù)庫編程第一章初識DAO什么是DAO?DAO就是DatabaseAccessObject,數(shù)據(jù)庫訪問對象的英文縮寫。在VB中提供了兩種與Jet數(shù)據(jù)庫引擎接口的方法:Data控件和數(shù)據(jù)訪問對象(DAO)。Data控件只給出有限的不需編程而能訪問現(xiàn)存數(shù)據(jù)庫的功能,而DAO模型則是全面控制數(shù)據(jù)庫的完整編程接口。Data控件將常用的DAO功能封裝在其中,它與DAO控件的關(guān)系就好象內(nèi)存與CACHE之間的關(guān)系一樣,所以這兩種方法并不是互斥的,實際上,它們常同時使用。DAO模型是設(shè)計關(guān)系數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)的對象類的集合。它們提供了完成管理一個關(guān)系型數(shù)據(jù)庫系統(tǒng)所需的全部操作的屬性和方法,這其中包括創(chuàng)建數(shù)據(jù)庫
2、,定義表、字段和索引,建立表間的關(guān)系,定位和查詢數(shù)據(jù)庫等。VisualBasic中的數(shù)據(jù)庫編程就是創(chuàng)建數(shù)據(jù)訪問對象,這些數(shù)據(jù)訪問對象對應(yīng)于被訪問物理數(shù)據(jù)庫的不同部分,如數(shù)據(jù)庫、表、字段和索引等,同時用這些對象的屬性和方法來實現(xiàn)對數(shù)據(jù)庫的操作,以便在VisualBasic窗體中使用綁定和非綁定控件來顯示操作結(jié)果并接收用戶輸入。VisualBasic通過DAO和Jet引擎可以識別三類數(shù)據(jù)庫:■VisualBasic數(shù)據(jù)庫也就是*.MDB數(shù)據(jù)庫■外部數(shù)據(jù)庫它們是使用幾種流行格式的“索引順序訪問方法(ISAM)”數(shù)據(jù)庫,這些流行格式包括Btrieve、dBASEIII、dBASEIV、Microsof
3、tFoxProversions2.0和2.5以及Paradoxversions3.x和4.0。在VisualBasic中能夠創(chuàng)建和操作所有以上格式的數(shù)據(jù)庫。也可以訪問文本文件數(shù)據(jù)庫和MicrosoftExcel或Lotus1-2-3電子表格?!鯫DBC數(shù)據(jù)庫包括符合ODBC標(biāo)準(zhǔn)的客戶/服務(wù)器數(shù)據(jù)庫,如MicrosoftSQLServer。要在VisualBasic中創(chuàng)建真正的客戶/服務(wù)器應(yīng)用程序,可以使用ODBCDirect直接把命令傳遞給服務(wù)器處理。也就是說VisualBasic還支持其它不使用Jet數(shù)據(jù)庫引擎的數(shù)據(jù)訪問方法。數(shù)據(jù)訪問對象的ODBCDirect模式允許使用同樣的對象模型和語法
4、繞過Jet引擎直接訪問ODBC數(shù)據(jù)。由上面的敘述可知,對于編程人員來講,你只須了解DAO的使用,對具體的數(shù)據(jù)庫系統(tǒng)無須做深入的探討,就可對幾乎任何一種數(shù)據(jù)庫進行操作,“以不便應(yīng)萬變”,而對數(shù)據(jù)庫文件自身的物理操作,將由相應(yīng)的數(shù)據(jù)庫引擎把數(shù)據(jù)訪問對象上的這些操作轉(zhuǎn)換為對數(shù)據(jù)庫文件自身的物理操作,這些引擎來處理所有與各種數(shù)據(jù)庫的接口第二章DAO的結(jié)構(gòu)上一章我們知道了DAO是什么,它可以干什么,以及簡單的了解了它是如何實現(xiàn)這一功能,這一章我們講逐步學(xué)習(xí)DAO的結(jié)構(gòu)。在將講這一章之前,首先講兩個題外話:面向?qū)ο缶幊檀蠹覍γ嫦驅(qū)ο缶幊桃欢ú荒吧?,但究竟什么是面向?qū)ο缶幊?,很多人一下子也說不出個所以然來;
5、在VB的DAO中又是如何體現(xiàn)面向?qū)ο蟮哪?,恐怕即便是使用了一段VB的網(wǎng)友也很難說清。這也難怪,VB本身并不是個完全的面向?qū)ο蟮木幊汰h(huán)境,它的很多如動態(tài)數(shù)組等就不是面向?qū)ο蟮模贒AO中是完全的面向?qū)ο蟮?。其實面向?qū)ο蟮淖畛跛枷刖褪菍?shù)據(jù)和操作封裝在一起,形成對象,而在DAO中正是體現(xiàn)了這一點,它將數(shù)據(jù)的值作為屬性,數(shù)據(jù)的查詢作為方法,數(shù)據(jù)值的變化作為事件,完全封裝在DAO對象中,希望諸位盟友在使用中注意,逐步領(lǐng)悟面向?qū)ο蟮木幊谭椒?。?shù)據(jù)庫前端開發(fā)系統(tǒng)和后臺系統(tǒng)經(jīng)常由朋友說他會DELPHI,會PB,實際上用前端和后臺的概念來看,他們都只是會一種前端開發(fā)工具而已,嚴格說起來并不能算會數(shù)據(jù)庫的開發(fā)
6、。人們往往只看到前臺應(yīng)用的功能而忽視了后臺系統(tǒng)的應(yīng)用,或者認為這兩者根本就是一回事。前端后臺概念用在單機上,就是VB與Access,用在網(wǎng)絡(luò)中就是VB與SQLSever,只會VB或DELPHI是不能稱為掌握數(shù)據(jù)庫編程的,而且在編程中,要善于利用后臺數(shù)據(jù)庫提供功能,這樣的程序運行起來更快,程序更精練。題外話講完,現(xiàn)在切入正題。DAO的結(jié)構(gòu)如圖所示:第三章使用Recordset對象這一章講解Recordset對象的使用,之所以將其作為第一個作為講解,是因為最常用的就是這個對象,使用好這個對象,VB大部分的數(shù)據(jù)庫編程功能就掌握了。本章內(nèi)容包括:Recordset對象的創(chuàng)建一、Recordset對象的
7、創(chuàng)建在DAO對象一覽圖中我們可以看到Recordset對象是Database對象的子對象,那么在建立Recordset對象之前需要先建立Databsse對象,這就如同在C++中要先建立父類才能建立子類一樣,這里有些讀者可能會問,在Database對象上還有兩層對象不需要建立嗎?在VB的數(shù)據(jù)庫編程,DBEngine對象是最頂級的數(shù)據(jù)庫訪問對象,有點象JAVA中的超類概念,是不需要建立,其他DAO對象