CodeGuru Home VC++ / MFC / C++ .NET / C# Visual Basic VB Forums Developer.com
Results 1 to 2 of 2
  1. #1
    Join Date
    Apr 1999
    Posts
    51

    Using CTime object in CRecordset Filter

    Can someone tell me the proper way to use a CTime object as a parameter for a m_strFilter? I get zero records select when I know there is data. My code looks like this:


    //CRecordset .h file
    // Field/Param Data
    //{{AFX_FIELD(CBatchHeaderSet, CRecordset)
    CString m_BATCHID;
    CTime m_CREATE_DATE;
    CTime m_EXECUTE_DATE;
    CString m_CREATE_USER;
    CString m_EXECUTE_USER;
    CString m_BATCH_STATUS;
    //}}AFX_FIELD
    CString m_BATCH_STATUSParam;
    CTime m_EXECUTE_DATEParam;

    //CRecordset .cpp file
    void CBatchHeaderSet:oFieldExchange(CFieldExchange* pFX)
    {
    //{{AFX_FIELD_MAP(CBatchHeaderSet)
    pFX->SetFieldType(CFieldExchange:utputColumn);
    RFX_Text(pFX, _T("[BATCHID]"), m_BATCHID);
    RFX_Date(pFX, _T("[CREATE_DATE]"), m_CREATE_DATE);
    RFX_Date(pFX, _T("[EXECUTE_DATE]"), m_EXECUTE_DATE);
    RFX_Text(pFX, _T("[CREATE_USER]"), m_CREATE_USER);
    RFX_Text(pFX, _T("[EXECUTE_USER]"), m_EXECUTE_USER);
    RFX_Text(pFX, _T("[BATCH_STATUS]"), m_BATCH_STATUS);
    //}}AFX_FIELD_MAP
    pFX->SetFieldType(CFieldExchange:aram);
    RFX_Text(pFX, "Batch Status Parameter",m_BATCH_STATUSParam);
    RFX_Date(pFX, "Date Executed Parameter",m_EXECUTE_DATEParam);
    }

    // CView using the recordset
    CBatchHeader rsBatch;
    CTime t = CTime::GetCurrentTime(); // Today
    CTimeSpan ts(30, 0, 0, 1 ); // 30 days
    CTime tm30 = t - ts; // 30 days ago
    rsBatch.m_pDatabase=&(pApp->t_CNC);
    rsBatch.m_strSort="BATCHID";
    rsBatch.m_strFilter="BATCH_STATUS = ? AND EXECUTE_DATE > ?";
    rsBatch.m_BATCH_STATUSParam = "DONE";
    rsBatch.m_EXECUTE_DATEParam = tm30;
    if(!rsBatch.Open(CRecordset::snapshot, NULL, CRecordset::none)) {
    AfxMessageBox(IDP_FAILED_OPEN_DATABASE);
    }




    I am trying to select records where EXECUTE_DATE is > today - 30 days. The CTime and CTimeSpan calculations are working. Is the EXECUTE_DATE > ? correct or do I use a different syntax for the date parameters?

    Thanks,

    Steve



    Steven M. McNeese
    [email protected]

  2. #2
    Join Date
    Apr 1999
    Posts
    51

    Re: Using CTime object in CRecordset Filter

    Nevermind....Too many schemas in the Database! Works as is! I knew it could not me my code! Ha Ha.

    Steven M. McNeese
    [email protected]

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  





Click Here to Expand Forum to Full Width

Featured