字体
第(2/4)页
关灯
   存书签 书架管理 返回目录


    ·366·

    //得到DataGrid 中表示各列信息的类

    CColumns cols = m_DataGrid.GetColumns();

    //此参数用来得到具体某一列

    VARIANT index;

    //值为index

    index.intVal = ColIndex;

    //类型为整型

    index.vt = VT_I4;

    //得到单击列

    CColumn col = cols.GetItem(index);

    //得到此列的名字

    m_strTableNcom = col.GetCaption();

    //排序必须是在已经建立连接的情况下

    if(m_Connection != NULL)

    {

    //排序还必须在表名存在的情况下

    if(m_strTableNcom.GetLength() != 0)

    {

    //得到查询语句的长度,后面会用到

    int nOriginalLength = m_strSQL.GetLength();

    //构造新的查询语句

    CString strTmp = " order by [" + m_strTableNcom + "]";

    if(isDesc)

    {

    strTmp = strTmp + " desc";

    isDesc = FALSE;

    }

    else

    isDesc = TRUE;

    m_strSQL += strTmp;

    //将变量值保存到控件中

    UpdateData(FALSE);

    //对新的查询语句进行查询

    OnExecute();

    //恢复原查询语句,这样做是为了再单击别的列,可以对别的列进行排序

    m_strSQL.Delete(nOriginalLength, strTmp.GetLength());

    }

    }

    }

    至此,所有的代码均已编写完毕。这段代码已经实现了对数据库的基本cāo作。可见,用

    枫叶文学网www.fywxw.com

    第12 章 数据库开发

    ·367·

    ADO 技术进行数据库开发非常方便,且简单易学。同时,DataGrid 控件的使用可以使得程序

    员不再为数据的显示做很多繁琐的事情,从而大大简化了代码的编写。

    (4)运行程序

    对程序编译、链接,然后运行(这里要注意,在编译的时候会出现如下的警告:

    msado15.tlh(403) : warning C4146: unary minus operator applied to unsigned type, result still

    unsigned。对此微软在MSDN 中作了说明,并建议不要理会这个警告),可以看到运行界面如

    图12-26 所示。

    图12-26 程序运行界面

    单击“数据源”按钮,打开如图12-27 所示的“数据链接属
上一页 目录 下一页