ADO 2.0 推出了“分級游標(biāo)”功能,通過該功能可將子 Recordset 對象定義為父 Recordset 中某個字段的值。
可以通過這樣的方式來理解分級游標(biāo):假設(shè)有一個可視控件,如“文件打開”對話框,它可依分級方式顯示文件和子目錄??蓪⒚恳粋€目錄都看作 Recordset 對象,并將該目錄中的每個文件看作 Field 對象;同樣,將該目錄中的每個子目錄也看作 Field 對象,這樣,該對象的值就成為另一個 Recordset。
ADO 2.0 還推出了新的“形狀”數(shù)據(jù)操作語言語法,它可以使查詢結(jié)果表示為分級 Recordset。發(fā)出形狀語言命令的方式與發(fā)出任何其他 ADO 命令字符串沒有什么區(qū)別。
形狀語言內(nèi)置于ADO 客戶端游標(biāo)引擎中。將它的創(chuàng)建過程稱為“數(shù)據(jù)構(gòu)形”。
使用形狀語言,可通過兩種途徑創(chuàng)建分級 Recordset 對象。其一是將子 Recordset 追加到父 Recordset,其二則是對子 Recordset 進(jìn)行合計(jì)操作并由此產(chǎn)生父 Recordset。
可將分級 Recordset 對象放置在所需的任何深度(即創(chuàng)建子 Recordset 對象的子 Recordset 對象,如此繼續(xù))。
通過程序或相應(yīng)的可視控件訪問已得出結(jié)果的分級 Recordset。
形狀語言相對較難編寫。為此,Microsoft 提供了能夠生成形狀命令的可視化工具(請參閱 Visual Basic 主題,“數(shù)據(jù)環(huán)境設(shè)計(jì)者”)以及另一個能夠顯示分級游標(biāo)的可視化工具(請參閱 Visual Basic 主題,“使用 Microsoft Hierarchical Flexgrid Control”)。