描述:
我在调试的时候能进入这个命令里面来,但是程序执行到OPENRECORDSET之后,就跳到CLOSERECORDSET,也就是说里面的取数据的语句根本没执行
LPQUERYONLINE lp = (LPQUERYONLINE)lpData;
int d=0;
TRACE("lp->szBusNO=%s\n",lp->szBusNO);
TRACE("lp->szDate=%s\n",lp->szDate);
CString szSQL;
_RecordsetPtr rs;
_variant_t vTemp;
if (strcmp(lp->szDate,"")==0)
{
break;
}
if (strcmp(lp->szBusNO,"")==0)
{
szSQL.Format("select top 1000 * from VIEW_Businfo_Online where opdate=\'%s\' ",lp->szDate);
}
else
{
szSQL.Format("select top 1000 * from VIEW_Businfo_Online where opdate=\'%s\' and busno=\'%s\' ",lp->szDate,lp->szBusNO);
}
char lpData[sizeof(NETDATA_PACK) + sizeof(LPONLINE)];
LPONLINE lp_online = (LPONLINE)((LPNETDATA_PACK)lpData)->lpData;
ZeroMemory(lpData,sizeof(lpData));
OPEN_RECORDSET(rs,szSQL,theApp.m_lpConnection)
vTemp = rs->GetCollect("BusID");
if (vTemp.vt == VT_BSTR)
strcpy(lp_online->szID,(LPCTSTR)(_bstr_t)vTemp);
TRACE("lp_online->szID=%s\n",lp_online->szID);
TRACE("lp_online->szBusNO=%s\n",lp_online->szBusNO);
vTemp = rs->GetCollect("BusNO");
if (vTemp.vt == VT_BSTR)
strcpy(lp_online->szBusNO,(LPCTSTR)(_bstr_t)vTemp);
TRACE("lp_online->szBusNO=%s\n",lp_online->szBusNO);
vTemp = rs->GetCollect("BusCard");
if (vTemp.vt == VT_BSTR)
strcpy(lp_online->szBusCard,(LPCTSTR)(_bstr_t)vTemp);
TRACE("lp_online->szBusCard=%s\n",lp_online->szBusCard);
vTemp = rs->GetCollect("online");
if (vTemp.vt == VT_I4)
lp_online->szOnline = (long)vTemp;
TRACE("lp_online->sz />
vTemp = rs->GetCollect("opdate");
if (vTemp.vt == VT_BSTR)
strcpy(lp_online->szDate,(LPCTSTR)(_bstr_t)vTemp);
TRACE("lp_online->szDate=%s\n",lp_online->szDate);
vTemp = rs->GetCollect("optime");
if (vTemp.vt == VT_BSTR)
strcpy(lp_online->szTime,(LPCTSTR)(_bstr_t)vTemp);
TRACE("lp_online->szTime=%s\n",lp_online->szTime);
((LPNETDATA_PACK)lpData)->dwFlag = FLAG_NETDATA;
((LPNETDATA_PACK)lpData)->dwMessage = NETCMD_GETONLINE_OK;
((LPNETDATA_PACK)lpData)->dwLength = sizeof(ONLINE);
memcpy((((LPNETDATA_PACK)lpData)->lpData),lp_online,sizeof(ONLINE));
if (!SendNetData((LPNETDATA_PACK)lpData))
{
closesocket(m_hSocket);
m_hSocket = INVALID_SOCKET;
return;
}
d++;
TRACE("d=%d\n",d);
ZeroMemory(lp_online,sizeof(ONLINE));
CLOSE_RECORDSET(rs)