VC中的MONTH CALENDAR控件(CMonthCalCtrl)--微软的BUG

 

 

使用MONTH CALENDAR控件时总是得不到正确的日期。

原因是该控件类提供的函数本身就有问题。GetCurSel()中几个变量没有被清空,导致数据总是向后延迟了很多。

以下是处理代码:

    SYSTEMTIME   st;   
    m_calendar.GetCurSel(
& st);   
    st.wHour 
=  st.wMinute  =  st.wSecond  =  st.wMilliseconds  =   0 ;   
    CTime   refDateTime(st);   

    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    _bstr_t vSQL;
    vSQL 
=   " SELECT CHECKDATE,SUM(DURATION) DURATION FROM DAYVIEW  " ;
    vSQL 
+=   "  where to_date(CHECKDATE,'YYYY/MM/DD') = to_date(' "   + (_bstr_t)refDateTime.Format( " %Y/%m/%d " ) + " ','YYYY/MM/DD') " ;
    vSQL 
+=   "  GROUP BY CHECKDATE " ;
//     m_times = (LPCTSTR)(_bstr_t)m_calendar.Format("%Y/%m/%d");
    AfxMessageBox(vSQL);

 

参考:http://blog.tom.com/hongya6088/article/523.html

你可能感兴趣的:(VC中的MONTH CALENDAR控件(CMonthCalCtrl)--微软的BUG)