MFC & ODBC 的相关操作

     最近在做数据库的课设,原本对数据库的操作,用JAVA 来写是非常好的选择,但是,自己却选择了 MFC ,因为 JAVA 的已经做过一次了,语法什么的基本上没什么问题了,但是出于学习的目的,我采用了 MFC ,应该是丰富自己在这方面的知识吧。。。

    

排序,可以使得我们在提取数据获得极大的方便,一下是 MSDN 上的

 

Visual C++
记录集:对记录进行排序 (ODBC)

 

本主题适用于 MFC ODBC 类。

本主题说明如何对记录集排序。可以指定一列或多列作为排序的依据,并且可以为每一指定的列指定升序或降序(ASCDESCASC 为默认值)。例如,如果指定两列,则首先对第一个命名列的记录进行排序,然后对第二个命名列的记录进行排序。SQL ORDER BY 子句定义排序。框架向记录集的 SQL 查询追加 ORDER BY 子句后,该子句控制选定内容的排序。

必须在构造对象之后但尚未调用对象的 Open 成员函数之前(或在调用某个现有记录集对象的 Requery 成员函数之前,而该记录集的 Open 成员函数先前已被调用过)建立记录集的排序顺序。

为记录集对象指定排序顺序

  1. 构造一个新的记录集对象(或准备为现有对象调用 Requery)。

  2. 设置该对象的 m_strSort 数据成员的值。

    排序是以 NULL 结尾的字符串。它包含 ORDER BY 子句的内容,但不包含关键字 ORDER BY。例如,使用:

    复制
    recordset.m_strSort = "LastName DESC, FirstName DESC";
    

    而不是

    复制
    recordset.m_strSort = "ORDER BY LastName DESC, FirstName DESC";
    
  3. 设置所需的任何其他选项,如筛选器、锁定模式或参数。

  4. 为新对象调用 Open(或为现有对象调用 Requery)。

选定的记录按指定要求排序。例如,若要以降序对一组学生记录按姓进行排序,然后按名进行排序,请执行下列操作:

复制
// Construct the recordset
CStudentSet rsStudent( NULL );
// Set the sort
rsStudent.m_strSort = "LastName DESC, FirstName DESC";
// Run the query with the sort in place
rsStudent.Open( );

记录集包含所有的学生记录,以降序(Z 到 A)先按姓排序,然后按名排序。

注意

如果您选择通过将自己的 SQL 字符串传递给 Open 来重写记录集的默认 SQL 字符串,则当自定义字符串有 ORDER BY 子句时不应设置排序。

 

然后就是,交互的问题,MFC 在这方面还是做得有点复杂,写了很多代码实现交互的过程,总的来说就是一句话,

将存取的数据 放在共享区中, 然后就关联到空间上边的数据交换上去。。。

这部分不是很难做,我感觉还是如果不是用前边介绍的排序,在数据处理上边,做起来很是困难,毕竟有将近 8 个表啊。。。。

 

未完待续。。。

你可能感兴趣的:(MFC & ODBC 的相关操作)