我定义一个宏如下:
#define GETXMLRSDATA() \
if( VARIANT_FALSE==Rs1->GetIsEOF() )\
{\
nReportId = (float)Rs1->Fields->GetItem("ord")->GetValue();\
CString strOrder;\
strOrder  = (char*)(_bstr_t)Rs1->Fields->GetItem("report_name")->GetValue();\
nOrder    = CMyTask::StrToInt(strOrder);\
bstrXW    = Rs1->Fields->GetItem("item_name")->GetValue();\
varValueMax  = Rs1->Fields->GetItem("value_max")->GetValue();\
                  varValueMin  = Rs1->Fields->GetItem("value_min")->GetValue();\
varValueAvg  = Rs1->Fields->GetItem("value_avg")->GetValue();\
varValueCP95 = Rs1->Fields->GetItem("value_95")->GetValue();\
\
GetOneXmlStat( nReportId, nOrder, nOrder, bstrXW, varValueMax, varValueMin, varValueAvg, varValueCP95, byteRec);\
Rs1->MoveNext();\
}\这样编译通不过,出了一堆错误,但是这样改一下就可以了
#define GETXMLRSDATA() \
if( VARIANT_FALSE==Rs1->GetIsEOF() )\
{\
nReportId = (float)Rs1->Fields->GetItem("ord")->GetValue();\
CString strOrder;\
strOrder  = (char*)(_bstr_t)Rs1->Fields->GetItem("report_name")->GetValue();\
nOrder    = CMyTask::StrToInt(strOrder);\
bstrXW    = Rs1->Fields->GetItem("item_name")->GetValue();\
varValueMax  = Rs1->Fields->GetItem("value_max")->GetValue();varValueMin  = Rs1->Fields->GetItem("value_min")->GetValue();\
varValueAvg  = Rs1->Fields->GetItem("value_avg")->GetValue();\
varValueCP95 = Rs1->Fields->GetItem("value_95")->GetValue();\
\
GetOneXmlStat( nReportId, nOrder, nOrder, bstrXW, varValueMax, varValueMin, varValueAvg, varValueCP95, byteRec);\
Rs1->MoveNext();\
}\为什么啊?