920DBC数据库管理 >改变与 m pset关联的表 (1)将 ClassWizard对话框切换到“ Member variables”页面,在“Cass name的下拉列表中选择“ CEX ODBCSet”,此时 ClassWizard对话框的 Update Columns和[ Bind al按钮被激活。如图。 Message Maps Member Variables Automation I ActiveX Events I Class Info Project: Class name: Add Class. Ex ODBC d: .Ex ODBCIEX ODBCSeth, d Ex ODBC\Ex ODBCSet cpp Column Names: Type Member Delete Variable Iprofcodel Update Columns Bind Description: binding char column to CString field Cancel 图913“ MFC Class wizard对话框
9.2ODBC数据库管理 ➢ 改变与m_pSet关联的表 (1)将ClassWizard对话框切换到“Member Variables”页面,在“Class name”的下拉列表中选择“CEx_ODBCSet”,此时ClassWizard对话框的 [Update Columns和[Bind All按钮被激活。如图。 图9.13 “MFC ClassWizard”对话框
920DBC数据库管理 (2)单击[ Update Columns],如图。 (3)从中选择ODBC的数据源“ My database for VC,单击[OK],如图,选 择要使用的表。 (4)单击[OK]按钮,以回到 ClassWizard界面。 (5)若表中的各个字段还没有相应的数据成员,可单击[BndA按钮进行自 动设置。 ak select Database Tables Datasource o ODBC: My database for VC Cancel CAO Cancel C OLE DB Select OLE DB Datasource Recordset type C Snapshot naset C Table Advance M Detect diry columns 图914“ Database Options”对话框 图9.15“ Select database tables”对话框
9.2ODBC数据库管理 (2)单击[Update Columns],如图。 (3)从中选择ODBC的数据源“My database for VC”,单击[OK],如图,选 择要使用的表。 (4)单击[OK]按钮,以回到ClassWizard界面。 (5)若表中的各个字段还没有相应的数据成员,可单击[Bind All]按钮进行自 动设置。 图9.14 “Database Options”对话框 图9.15 “Select Database Tables”对话框
920DBC数据库管理 922MFC的ODBC类 动态行集和快照集 CRecordset类对象提供了从数据源中提取出表的记录集,并提供了两种操 作形式:动态行集( Dynasets)和快照集( Snapshots) 动态行集能与其他用户所做的更改保持同步,快照集是数据的一个静态视 图。这两形式在记录集被打开时都提供一组记录,所不同的是:当在一个 动态行集里滚动一条记录时,由其他用户或应用程序中的其他记录集对该记 录所做的更改会相应地显示出来,而快照集则不会 > CRecordset类的基本操作 (1)查询记录 使用 CRecordset:Open和 CRecordset: Requery成员函数可以对表进行记录 的查询。注意 在使用 CRecordset类对象之前,必须使用 CRecordset:Open函数来获得有 效的记录集。一旦已经使用过 CRecordset:pen函数,再次查询时就需要 应用 CRecordset: Requeryo函数进行记录的刷新 查询过程中,通常利用 CRecordset的成员变量 m strFilteri和 m strSort来执 行条件查询和结果排序。 m strFilter为过滤字符串,存放着SQL语句中 WHERE后的条件串;而 m strSort为排序字符串,存放着SQL语句中 ORDER BY后的字符串
9.2ODBC数据库管理 9.2.2MFC的ODBC类 ➢ 动态行集和快照集 CRecordset类对象提供了从数据源中提取出表的记录集,并提供了两种操 作形式:动态行集(Dynasets)和快照集(Snapshots)。 动态行集能与其他用户所做的更改保持同步,快照集是数据的一个静态视 图。这两形式在记录集被打开时都提供一组记录,所不同的是:当在一个 动态行集里滚动一条记录时,由其他用户或应用程序中的其他记录集对该记 录所做的更改会相应地显示出来,而快照集则不会。 ➢ CRecordset类的基本操作 (1)查询记录 使用CRecordset::Open和CRecordset::Requery成员函数可以对表进行记录 的查询。注意: ◆ 在使用CRecordset类对象之前,必须使用CRecordset::Open函数来获得有 效的记录集。一旦已经使用过CRecordset::Open函数,再次查询时就需要 应用CRecordset:: Requery()函数进行记录的刷新。 ◆ 查询过程中,通常利用CRecordset的成员变量m_strFilter和m_strSort来执 行条件查询和结果排序。m_strFilter为过滤字符串,存放着SQL语句中 WHERE后的条件串;而m_strSort为排序字符串,存放着SQL语句中ORDER BY后的字符串