this->m_pRecordset->Open("select * from table2",_variant_t((IDispatch*)theApp.m_pConnection),true),adOpenStatic,adLockOptimistic,adCmdText);
",_variant_t((IDispatch*)theApp.m_pConnection)具体是什么意思啊?谢谢

解决方案 »

  1.   

    this->m_pRecordset->Open(
    "select * from table2",
    _variant_t((IDispatch*)theApp.m_pConnection),true),
    adOpenStatic,
    adLockOptimistic,
    adCmdText);
    所有信息是一个函数调用,即ADO的_RecordsetPtr对象m_pRecordset调用打开数据表函数。
    其中第二参数是将ADO的_ConnectionPtr对象m_pConnection转换成_variant_t对象传入的。
    对象m_pConnection显然被定义成CWinApp派生类的成员,(估计m_pRecordset也是)。
    (IDispatch*)是作了一次强制转换,否则编译时认为类型不正确。
      

  2.   

    (IDispatch*)关键是这个啊,我不是很明白啊,能不能讲下关于这个的内容啊,我不知道这个是什么类型,而且有什么用,为什么要这么转化??,谢谢了呵呵我是newer
      

  3.   

    IDispatch具体您可以看COM编程,那是一个派发接口