m_pFindRecord = m_pConnection->Execute((LPCTSTR)lpSelect,
&RecordAffect ,
adOptionUnspecified ) ;
if(!m_pFindRecord->GetadoEOF())
{
for(int i =0 ;i<m_nFields;i++)
{
FindValue = m_pFindRecord->GetCollect(_variant_t(m_sFieldName[i])) ;
if(FindValue.vt != VT_NULL)
m_sFieldValue[i] = (char*)_bstr_t(FindValue) ;
else
m_sFieldValue[i] = "" ;

return TRUE ;
}
else  /*纪录集没有数据*/
return FALSE ;   m_pFindRecord是成员变量,每一分钟作为一个批次需要执行上面的代码一次,目的是进行排重,然后写入数据库,但是发现
m_pConnection->Execute((LPCTSTR)lpSelect,&RecordAffect ,adOptionUnspecified ) ;这句执行完之后,只能达到对这一分钟之内排重的效果,不能对所有记录进行排重,也就是每次进行查询的时候只对后面的记录集进行查询,前面的不管,请问大侠们该怎么改?

解决方案 »

  1.   

    adOptionUnspecified 换成 adCmdText
    用SQL的ORDER BY 排序不了?
      

  2.   

    回版主~ 在PL/SQL中可以排序的,你是说在查询SQL里面加上排序?adCmdText我试一下,lpSelect中只是普通的select ... from ... where
      

  3.   

    select ... from ... where ... order by 字段
    自己强制排序吧。
      

  4.   

    好好的sql不用,一定要用自己的程序实现吗?