void CDLGMainFace::OnTimer(UINT nIDEvent) 
{
CCBdiaodu  *pDiaodu = new CCBdiaodu();
char sqlCmd[300];
char sqlTime[40]; 
int stY,stM,stD,stH;
SYSTEMTIME sysTm;
::GetLocalTime(&sysTm);
stH = sysTm.wHour;
stY = sysTm.wYear;
stM = sysTm.wMonth;
stD = sysTm.wDay; sprintf(sqlTime,"%02d-%02d",stM,stD);
         if(pDiaodu->IsOpen()!=0)
    pDiaodu->Close();
         for(int i_1=0;i_1<64;i_1++)
{
sprintf(sqlCmd,"Select *From CXDNP%04d%02d Where DevId ='%d'And STime='%s'",stY,stM,i_1+1,sqlTime);
         pDiaodu->Open(CRecordset::snapshot,sqlCmd,CRecordset::none);    //BUG语句
         sdb_temp[i_1].BDZ =i_1;
         strcpy(sdb_temp[i_1].PZ ,pDiaodu->m_Pdn.GetBuffer(400));
JBDD(sdb_temp[i_1].BDZ ,sdb_temp[i_1].PZ);
if(pDiaodu->IsOpen()!=0)
         pDiaodu->Close();
}
         CDialog::OnTimer(nIDEvent);
}
定时中断2秒一次,JBDD(sdb_temp[i_1].BDZ ,sdb_temp[i_1].PZ)是我另外的函数,程序编译运行都没错,但是运行几分钟后会持续弹出对话框,提示错误“客户端工作过多,驱动程序的SQLSetConnectAttr失败”,单步调试是出现在上面程序的BUG语句处。这是因为我中断频率太快吗?还是别的原因?怎么解决?我现在中断改成10分钟正测试呢。求指点