Click to See Complete Forum and Search --> : Using CTime object in CRecordset Filter


Steve McNeese
April 28th, 1999, 02:52 PM
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::DoFieldExchange(CFieldExchange* pFX)
{
//{{AFX_FIELD_MAP(CBatchHeaderSet)
pFX->SetFieldType(CFieldExchange::outputColumn);
RFX_Text(pFX, _T(""), 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::param);
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



[b]Steven M. McNeese
steven.mcneese@boeing.com

Steve McNeese
April 28th, 1999, 03:57 PM
Nevermind....Too many schemas in the Database! Works as is! I knew it could not me my code! :) Ha Ha.

Steven M. McNeese
steven.mcneese@boeing.com