我新建一个基于对话框的MFC工程,希望可以通过ADO Data 控件访问数据库,如何在工程中使用ADO Data控件呢?vc6.0中是先在系统菜单中选择“Project/Add to Project/Components and Controls",然后在Registered ActiveX Controls目录下找到Microsoft ADO Data Control ,version 6.0,insert就可以了,并且这个时候有个Confirm Classes窗口,系统自动向工程中添加了7个类,就是CAdodc,CField,CFields,COleFont,CProperties,CProperty和C_Recordset类。这个在vs2008中如何实现添加ADO Data 控件,并且让系统自动添加这些类呢?

解决方案 »

  1.   

    点击某一个对话框资源,鼠标右键菜地!insert activex control
      

  2.   

    这添加控件我知道,主要在于那几个在vc6.0中会自动添加的7个类,vs里面不知道怎么弄
      

  3.   

    汗~我主要是想弄清楚这个能不能在VS里面实现,熟悉vs的用法
      

  4.   

    看看这个
    http://hi.baidu.com/yaoweiwei677/blog/item/1289668bc14ae11ec8fc7a9b.html
      

  5.   

    我的情况也是你的情况,看的教程都是VC6的,VS2008添加控件时需然添加了一个类文件,但类文件里面没有什么属性和操作,就只两行代码,别人的VC6编译的这个类文件都全部有属性和操作。我也正愁着这个问题。
      

  6.   

    我发现vs2008和vc6的不同了,VS2008这个控件的操作和属性全在头文件msflexgrid.h,VC6是在msflexgrid.cpp里的,函数的区别以下:
    VC6-----------
    long CMSFlexGrid::GetRows()
    {
    long result;
    InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
    return result;
    }void CMSFlexGrid::SetRows(long nNewValue)
    {
    static BYTE parms[] =
    VTS_I4;
    InvokeHelper(0x4, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
     nNewValue);
    }
    VS2008----------------
    long get_Rows()
    {
    long result;
    InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
    return result;
    }
    void put_Rows(long newValue)
    {
    static BYTE parms[] = VTS_I4 ;
    InvokeHelper(0x4, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, newValue);
    }其中这个put_Rows不知是不是setRow,对这两个文件比较非常相同。应该就是函数名不同,这个问题浪费了我好几天,希望大家来探究这个两个文件有什么不同。
      

  7.   

    setrow就是VS2008里面的头文件里的put_row,只不过只多个下划线