Visual Basic動態(tài)數(shù)據(jù)驅(qū)動程序淺析
51CTO.com之前曾介紹過Visual Basic動態(tài)標(biāo)識符和靜態(tài)數(shù)組方面的知識,這里,我們來簡介介紹一下Visual Basic動態(tài)數(shù)據(jù)驅(qū)動程序。
Visual Basic應(yīng)用程序經(jīng)常使用先進(jìn)的ActiveX組件連接到數(shù)據(jù)源。這些數(shù)據(jù)來源可能包括數(shù)據(jù)訪問對象(DAO)的使用,遠(yuǎn)程數(shù)據(jù)對象(RDO),OLE DB提供程序,如ActiveX數(shù)據(jù)對象(ADO),COM數(shù)據(jù)提供商,水晶數(shù)據(jù)對象(CDO)和水晶數(shù)據(jù)源類型庫,或Visual Basic數(shù)據(jù)控件。使用水晶報表的Visual Basic動態(tài)數(shù)據(jù)驅(qū)動程序,您可以讓您的應(yīng)用程序使用這些相同的ActiveX數(shù)據(jù)源。 Visual Basic動態(tài)數(shù)據(jù)驅(qū)動程序包括:
◆Crystal Reports database driver for Microsoft Data Access Objects (crdb_dao.dll).
◆Crystal Reports database driver for ODBC (crdb_odbc.dll) for RDO.
◆Crystal Reports database driver for Microsoft ActiveX Data Objects (crbd_ado.dll).
◆Crystal Reports database driver for COM data provider (crdb_com.dll).
◆Crystal Data Object COM DLL (Com32.dll).
◆Crystal Reports database driver for Crystal Data Object (crdb_cdo.dll).
欲了解更多有關(guān)使用RDO,DAO和ADO時,請參閱微軟的文檔。有關(guān)數(shù)據(jù)控件信息,請參閱您的Visual Basic文檔。有關(guān)CDO的信息,請參見水晶數(shù)據(jù)對象。有關(guān)數(shù)據(jù)源的水晶類型庫信息,請參閱水晶數(shù)據(jù)源類型庫。
有時,您可能還需要創(chuàng)建報表的數(shù)據(jù)源時,實(shí)際上并不在設(shè)計(jì)時可用。高動態(tài)數(shù)據(jù)可能只可在運(yùn)行時。在這種情況下,外地定義驅(qū)動程序(crdb_fielddef.dll)支持的數(shù)據(jù)定義文件,這些文件制表符分隔的文本文件,定義數(shù)據(jù)源的字段,但不是實(shí)際的數(shù)據(jù)。
通常情況下,Visual Basic動態(tài)數(shù)據(jù)驅(qū)動程序開發(fā)使用報表設(shè)計(jì)器組件需要提前設(shè)計(jì)和節(jié)能的一個或多個報表文件進(jìn)行訪問在運(yùn)行時應(yīng)用程序。這一進(jìn)程要求程序員能夠獲得在設(shè)計(jì)時的數(shù)據(jù),該應(yīng)用程序,在安裝時,還安裝任何數(shù)據(jù)庫驅(qū)動程序和文件要求,以確保報告可以連接到所需的數(shù)據(jù)。
對運(yùn)行時的連接方法是保存的報告文件中的數(shù)據(jù)。數(shù)據(jù)是包裝精美的和現(xiàn)有的報告時,從您的自定義應(yīng)用程序的要求。但是,由于報告數(shù)據(jù)保存增加了報告文件的大小,浪費(fèi)磁盤空間。此外,該技術(shù)生產(chǎn)的靜態(tài)報告文件,其中數(shù)據(jù)不能沒有連接到數(shù)據(jù)庫的更新。
外地定義驅(qū)動程序允許你創(chuàng)建在設(shè)計(jì)時沒有指定一個實(shí)際的數(shù)據(jù)源的報告文件。相反,該報告是基于數(shù)據(jù)定義文件,一個占位ASCII文本文件,數(shù)據(jù)庫領(lǐng)域的代表。在運(yùn)行時,您將代碼添加到您的應(yīng)用程序指定為報告數(shù)據(jù)的實(shí)際來源。
【編輯推薦】