MFC 中如何获得 Combo控件的值 不用UpdateData()
MFC 中如何获得 Combo控件的值 不用UpdateData(),因为我用不用UpdateData()的时候每次都会在List控件上又加上好几列同样的列,恳求解决!
void CMonday::On_XSzhuangtai()
{
// TODO: Add your control notification handler code here
UpdateData(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中包括第一节课、第二节课、第三节课、第四节课!!!
希望懂得人能快快的给出正解!!!谢谢!!!
[解决办法]
GetDlgItemText
[解决办法]
你的ComboBox控件是不是一个窗口类的成员?类似m_List2的?
有的话,就用它直接调用GetCurSel获取当前选择项的索引,然后用GetLBText获取某个索引对应的字符串;
没有的话,用ComboBox的ID获取到控件指针,GetDlgItem(nID),返回CWnd*指针,你强转成CComboBox*,在接着用上面的方法好了;
详细的看这个http://msdn.microsoft.com/en-US/library/wfwech59(v=VS.80).aspx
[解决办法]
m_List2.GetWindowText(str);
[解决办法]
试试你的另外一个帖子里我的回复。
http://topic.csdn.net/u/20120105/23/f0b0a6b5-1326-49f3-b1c9-17e1797430c9.html?seed=952881513&r=77203458#r_77203458