我使用ACCESS建立了一个数据库文件,里面定制了3个表,假设名称分别为表1,表2,表3,每个表分别有5,10,3个条目。利用VC6.0的MFC动态引入该文件时,MFC自动定义了18个变量,用来存储数据库中的条目,因为表1里面的数据始终是少于表2的。举个例子,假如我在表2里输入了1行数据,而表1里并没有数据,如果我在程序中填入“m_pSet->MoveFirst();”的代码。这时运行程序会出现“试图跨越数据储存区”的警告消息。如果我在表1里再添加1行数据的话,就不会出现这样的情况,我想应该是程序并没有把这个数据库中每个表格的数据分开处理。
向各位前辈请教,如何把这3个表的数据分开来处理,也就是说m_pSet可以分别指向每个表的数据。虚心求教,谢谢各位了!

解决方案 »

  1.   

    不要用这个东西了。用ADO。
    http://www.pcvc.net/category/content.asp?sendid=280
      

  2.   

    你定制了3个表,怎么用一个RecordSet关联??
    用三个试试!!
      

  3.   

    正如楼上说的,最后一个表对应一个CRecordset的派生类,如果需要同时对多个表进行操作的话,可以CDatabase的事务处理,这样既清晰又安全
      

  4.   

    使用ODBC或ADO吧。在使用m_pSet->MoveFirst();之前,首先应判断数据库中是否有记录。m_pSet->GetRecordCount()>0才行