在Visual C++中,MFC (Microsoft Foundation Class基本類庫)是經過對Windows應用程序中各個部件進行類的抽象而建立的一組預定義的類,如窗口基類(CWnd)、各種窗口派生類等等,這些類在應用程序中可直接使用,不需要重新定義。在MFC中,也為ODBC預定義了幾個類,其中主要的是數據庫類(CDatabase)和記錄集合類(CRecoredset)。這兩個類既有聯系又有區別,在應用程序中,可以分別使用,也可以同時使用,每一類也可以同時存在多個對象。CDatabase的每一個對象代表了一個數據源的連接,CRecordset的每一個對象代表了從一
m-recset在調用打開函數時,即獲得了符合條件的一組記錄,條件語句在Open函數中的lpszSQL中給出,如果lpszSQL為NULL,則必須重載CRecordset的函數以提供該語句。該語句是一個SELECT語句,帶或不帶where和order by子句(如果不帶,where和Order by的條件也可在CRecordset的兩個預定義成員變量m-strFilter和m-strSort中給出)。lpszSQL也可以只是一個數據表名(table-name),也可以是對內嵌在數據庫文件中的查詢程序的調用語句。所選擇的一系列字段名,在成員函數DoFieldExchange中由一系列RFX-函數指定。RFX-(Record Field Exchange)函數,使字段和成員變量一一建立類型對應關系。另外,m-strFilter中也可以帶變量參數(用"?"表示,如"fieldl=? AND field2=?"),參數與成員變量的對應關系也在DoFieldExchange中由RFX-函數指定(串中的"?"將被參數變量值逐一替換)。