数据库:access
表名:temp
字段名: 
   ncount 类型:数字    (工作天数)
    username 类型:文本 (姓名)
内容如下:
   username   ncount
   张三          2
   张三          3
问题:统计同一人工作天数
用DatabasePRO工具:
select sum(ncount) as ncount,username from temp group by username
返回结果如下:
    username   ncount
   张三          5但用VC返回结果确如下:
     username   ncount
   张三          0vc实现过程如下:
strsql.Format("select sum(ncount) as ncount,username from temp group by username");m_pRs->Open(CComVariant(strsql),_variant_t((IDispatch*)m_pConnAccess),adOpenDynamic,adLockOptimistic,adCmdText);int nday;
CString strday;while(!m_pRs->adoEOF)
{
   //工作天数
   nday = m_pRs->GetCollect("ncount").intVal;
   strday.Format("%d",nday);
   m_list.SetItemText(0,2,strday);   //姓名
    ......    m_pRs->MoveNext();
}请问是何原因?

解决方案 »

  1.   

    m_pRs-> GetCollect( "ncount ").lVal呢?
      

  2.   


    select  ncount,username   from   temp;....
    while(!m_pRs-> adoEOF) 

          //工作天数 
          nday   =   m_pRs-> GetCollect( "ncount ").intVal; 
          strday.Format( "%d ",nday); 
          m_list.SetItemText(0,2,strday);       //姓名 
            ......         m_pRs-> MoveNext(); 
    } 内容如下: 
          username       ncount 
          张三                     2 
          张三                     3 没有问题.但用sum就不行
      

  3.   


    select  ncount,username   from   temp;....
    while(!m_pRs-> adoEOF) 

          //工作天数 
          nday   =   m_pRs-> GetCollect( "ncount ").intVal; 
          strday.Format( "%d ",nday); 
          m_list.SetItemText(0,2,strday);       //姓名 
            ......         m_pRs-> MoveNext(); 
    } 内容如下: 
          username       ncount 
          张三                     2 
          张三                     3 没有问题.但用sum就不行
      

  4.   

    能把代码给我看看吗?
    [email protected]
    我自己试一下
      

  5.   

    m_pRs->   GetCollect(   "ncount   ").dblVal
    刚才自己编了个,调试发现dblVal为正确值,只是不是整形了
      

  6.   

    m_pRs->   GetCollect(   "ncount   ").dblVal
    刚才自己编了个,调试发现dblVal为正确值,只是不是整形了