INT32 CInvHead::GetInvHeadNum() { INT32 nNoStart = 0; INT32 nNoEnd = 0; INT32 nCount = 0; INT32 errcode; string filter, strlimit; filter = m_filter; strlimit = " limit 1"; m_filter += strlimit; Requery(); errcode = LoadOneRecord(); if (errcode == SQLITE_OK) { nNoStart = m_no; //起始记录的序号 } else if (errcode == SQLITE_DONE) { nCount = 0; DBG_RETURN(nCount); //空表,无记录 } else { DBG_PRINT(("Can not load the first record!")); DBG_RETURN(-1); } strlimit = " order by NO desc limit 1"; m_filter = filter; m_filter += strlimit; Requery(); if (LoadOneRecord() == SQLITE_OK) { nNoEnd = m_no; //末尾记录的序号 } else { DBG_PRINT(("Can not load the last record!")); DBG_RETURN(-1); } nCount = nNoEnd - nNoStart + 1; //INV_HEAD表的记录数 if (nCount<0) { DBG_PRINT(("INV_HEAD的nCount<0!")); DBG_RETURN(-1); } DBG_RETURN(nCount); }
INT32 CInvHead::CheckRoll(INT32 nCount, UINT32 strRefDate, UINT32 &nDelDate) { DBG_ENTER("CInvHead::Roll"); INT32 nNoStart, nNoEnd; char value[128]; UINT32 strEndDate; nDelDate = 0; if (nCount>=INV_HEAD_MAX) //超过容纳最大记录数 { //得到第一条记录的序号 Requery(); if (LoadOneRecord() == SQLITE_OK) { nNoStart = m_no; } else { DBG_ASSERT_WARNING(false,("Can not load the first record!")); DBG_RETURN(FAILURE); } //查询截止条数处的IE_DATE字段 nNoEnd = nNoStart + DEL_NUM - 1; sprintf(value, "WHERE NO = %d", nNoEnd); m_filter.append(value); Requery(); if (LoadOneRecord() == SQLITE_OK) { strEndDate = m_kprq; } else { DBG_ASSERT_WARNING(false,("Can not load the first record!")); DBG_RETURN(FAILURE); } DBG_PRINT(("strRefDate = %u and strEndDate = %u",strRefDate, strEndDate)); // //比较日期字段,确定删除条件 // if(strRefDate <= strEndDate) // { // nDelDate = strRefDate; // } // else // { nDelDate = strEndDate; // } DBG_RETURN(SUCCESS); } DBG_RETURN(SUCCESS); }
INT32 CInvSum::CheckRoll(INT32 nCount, UINT32 strRefDate, UINT32 &nDelDate) { DBG_ENTER("CInvSum::Roll"); INT32 nNoStart, nNoEnd; char value[32]; UINT32 strEndDate; nDelDate = 0; if (nCount>=INV_SUM_MAX) //超过容纳最大记录数 { //得到第一条记录的序号 Requery(); if (LoadOneRecord() == SQLITE_OK) { nNoStart = m_no; } else { DBG_ASSERT_WARNING(false,("Can not load the first record!")); DBG_RETURN(FAILURE); } //查询截止条数处的IE_DATE字段 nNoEnd = nNoStart + INV_SUM_DEL_MAX - 1; sprintf(value,"%d",nNoEnd); m_filter = "WHERE NO = "; m_filter.append(value); Requery(); if (LoadOneRecord() == SQLITE_OK) { //strEndDate = m_issueEndDate; } else { DBG_ASSERT_WARNING(false,("Can not load the first record!")); DBG_RETURN(FAILURE); } // //比较日期字段,确定删除条件 // if(strRefDate <= strEndDate) // { // nDelDate = strRefDate; // } // else // { nDelDate = strEndDate; // } DBG_RETURN(SUCCESS); } DBG_RETURN(SUCCESS); }
void CSourceODBC::ReQuestion() { Requery(); m_database.recordcount = 0; if ( m_lRecordCount > 0 ) { MoveFirst(); while( !IsEOF() ) { m_database.recordcount++; MoveNext(); } } }