コード例 #1
0
ファイル: CInvHead.cpp プロジェクト: haosir7/MID_FWSK_1.0000
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);
	
	
}
コード例 #2
0
ファイル: CInvHead.cpp プロジェクト: haosir7/MID_FWSK_1.0000
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);
}
コード例 #3
0
ファイル: CInvSum.cpp プロジェクト: haosir7/SKJ_FWSK_1.0000
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);
}
コード例 #4
0
ファイル: SourceODBC.cpp プロジェクト: HumMan/ToolDBManager
void CSourceODBC::ReQuestion()
{
    Requery();
    m_database.recordcount = 0;
    if ( m_lRecordCount > 0 )
    {
        MoveFirst();
        while( !IsEOF() )
        {
            m_database.recordcount++;
            MoveNext();
        }
    }
}