m_pRecordset->Open("SELECT my.A type.B FROM my type where my.A= type.A",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);IDC_COMBO1 m_c1
IDC_COMBO2 m_c2现在要将A值存到COMBO1 B值存到COMBO2
并且COMBO1 change 之后,COMBO2的值跟着对应改变,代码怎么写?谢谢

解决方案 »

  1.   

    combo1改变了以后,取出其中的值保存到变量,然后写查询语句查出combo2所对应的值,更新就可以了。。
      

  2.   

    检索出的结果怎么赋值到combo1?
      

  3.   

    这个不难吧
    我光知道
    m_pRecordset->GetCollect("A")
    取出值
    m_t1.AddString()
    赋值但是这样不行,出错
    谁知道啊,帮帮忙
      

  4.   

    给combo1 关联CComboBox类型变量m_combctrl
    m_combctrl.InsertStringCComboBox::InsertStringint InsertString( int nIndex, LPCTSTR lpszString );返回值:
    返回插入项的下标。出错时返回CD_ERR。如果没有足够的内存插入项,则返回CB_ERRSPACE。参数: nIndex 指定项的插入位置(下标),如果为―1,则在列表的末尾插入该项。  
    lpszString 指向待插入的字符串(以null结尾)。  combo2 同样的道理
      

  5.   

    COMBO1 change 之后,COMBO2的值跟着对应改变,给COMBO1 添加CBN_SELCHANGE 消息
    在函数下 添加 对COMBO2的操作
      

  6.   


    没有明白我初学
    能否根据我给的信息,给出具体的赋值代码,谢谢
    m_c1 为combo1 关联CComboBox类型变量
      

  7.   

    m_c1.AddString(A); //分别将A 和B 插入控件中
    m_c2.AddString(B);
    给COMBO1 添加CBN_SELCHANGE 消息 

    void CXXXDlg::OnSelchangeXXX() //添加 对COMBO2的操作
    {
      int n;
      n=m_c1.GetCurSel();//获得comb1的A对应索引
      m_c2.SetCurSel(n);//设置comb2的B为对应的索引
    }
      

  8.   

    额,谢谢,原来你说的是第二个问题,我现在是第一个问题还没解决如何把m_pRecordset里的A值,一个一个的存入m_c1???        while(!m_pRecordset->adoEOF)
            {//中间这里怎么写?
    m_pRecordset->MoveNext();
    }这个是在初始化时候做的
      

  9.   

    自己解决了
    方法如下 _variant_t tm1,tm2;        while(!m_pRecordset->adoEOF)
            {
    tm1 = m_pRecordset->GetCollect("A");
    tm2 = m_pRecordset->GetCollect("B");
    CString strtp1 =(char *)_bstr_t(tm1);
    CString strtp2 =(char *)_bstr_t(tm2);
    AfxMessageBox(strtp2);
                m_c1.AddString(strtp1);
    m_c2.AddString(strtp2);
    m_pRecordset->MoveNext();
    }