MFC 中如何获得 Combo控件的值 不用UpdateData(),因为我用UpdateData()的时候每次都会在List控件上又加上好几列同样的列,恳求解决!void CMonday::On_XSzhuangtai()
{
// TODO: Add your control notification handler code hereUpdateData(true);if(""==m_Com)
{
MessageBox("请选择上课时间!!!");
return;
}/* CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));pConn->ConnectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=JN;Initial Catalog=JSGL";
pConn->Open("","","",adConnectUnspecified);pRst.CreateInstance(_uuidof(Recordset));
try
{
pRst->Open("SELECT * FROM ClassBaseInf",pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
} _bstr_t bstrSQL="select C_num,Class,Teacher,Cn,L_name from ClassUseInf where Time='第一节课'";
pRst.CreateInstance(_uuidof(Recordset));
pRst->Open(bstrSQL,pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);m_List2.DeleteAllItems();while(!pRst->adoEOF)
{
m_List2.InsertItem(0,"");
m_List2.SetItemText(0,0,(char*)(_bstr_t)pRst->GetCollect("C_num"));
m_List2.SetItemText(0,1,(char*)(_bstr_t)pRst->GetCollect("Class"));
m_List2.SetItemText(0,2,(char*)(_bstr_t)pRst->GetCollect("Teacher"));
m_List2.SetItemText(0,3,(char*)(_bstr_t)pRst->GetCollect("Cn"));
m_List2.SetItemText(0,4,(char*)(_bstr_t)pRst->GetCollect("L_name"));pRst->MoveNext();
}*/
}我想根据用户选择Combo控件中的值来动态写SQL语句_bstr_t bstrSQL="select C_num,Class,Teacher,Cn,L_name from ClassUseInf where Time='第一节课'";Combo中包括第一节课、第二节课、第三节课、第四节课!!!
希望懂得人能快快的给出正解!!!谢谢!!!
{
// TODO: Add your control notification handler code hereUpdateData(true);if(""==m_Com)
{
MessageBox("请选择上课时间!!!");
return;
}/* CoInitialize(NULL);
_ConnectionPtr pConn(__uuidof(Connection));
_RecordsetPtr pRst(__uuidof(Recordset));pConn->ConnectionString="Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;User ID=JN;Initial Catalog=JSGL";
pConn->Open("","","",adConnectUnspecified);pRst.CreateInstance(_uuidof(Recordset));
try
{
pRst->Open("SELECT * FROM ClassBaseInf",pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
} _bstr_t bstrSQL="select C_num,Class,Teacher,Cn,L_name from ClassUseInf where Time='第一节课'";
pRst.CreateInstance(_uuidof(Recordset));
pRst->Open(bstrSQL,pConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);m_List2.DeleteAllItems();while(!pRst->adoEOF)
{
m_List2.InsertItem(0,"");
m_List2.SetItemText(0,0,(char*)(_bstr_t)pRst->GetCollect("C_num"));
m_List2.SetItemText(0,1,(char*)(_bstr_t)pRst->GetCollect("Class"));
m_List2.SetItemText(0,2,(char*)(_bstr_t)pRst->GetCollect("Teacher"));
m_List2.SetItemText(0,3,(char*)(_bstr_t)pRst->GetCollect("Cn"));
m_List2.SetItemText(0,4,(char*)(_bstr_t)pRst->GetCollect("L_name"));pRst->MoveNext();
}*/
}我想根据用户选择Combo控件中的值来动态写SQL语句_bstr_t bstrSQL="select C_num,Class,Teacher,Cn,L_name from ClassUseInf where Time='第一节课'";Combo中包括第一节课、第二节课、第三节课、第四节课!!!
希望懂得人能快快的给出正解!!!谢谢!!!
m_List2.GetLBText(nIndex,str);
m_pcombobox=(CComboBox*)GetDlgItem(IDC_ComboBox1);
m_pcombobox->GetItemData(int nIndex);
m_List2.InsertItem(0,"");
m_List2.SetItemText(0,0,(char*)(_bstr_t)pRst->GetCollect("C_num"));
m_List2.SetItemText(0,1,(char*)(_bstr_t)pRst->GetCollect("Class"));
m_List2.SetItemText(0,2,(char*)(_bstr_t)pRst->GetCollect("Teacher"));
m_List2.SetItemText(0,3,(char*)(_bstr_t)pRst->GetCollect("Cn"));
m_List2.SetItemText(0,4,(char*)(_bstr_t)pRst->GetCollect("L_name"));
这段代码是否存在问题?你改成
m_List2.InsertItem(m_list2.GetItemCount(),(char*)(_bstr_t)pRst->GetCollect("C_num""));
m_List2.SetItemText(0,1,(char*)(_bstr_t)pRst->GetCollect("Class"));
m_List2.SetItemText(0,2,(char*)(_bstr_t)pRst->GetCollect("Teacher"));
m_List2.SetItemText(0,3,(char*)(_bstr_t)pRst->GetCollect("Cn"));
m_List2.SetItemText(0,4,(char*)(_bstr_t)pRst->GetCollect("L_name"));