有这么一段代码
for(i=0;i<iGetFieldCount;i++)
{
DataSet.GetFieldValue("NetBarName",strField);
//strReturn=strReturn+"<"+strField+">";
}提示错误:
无效的描述符索引
for(i=0;i<iGetFieldCount;i++)
{
DataSet.GetFieldValue("NetBarName",strField);
//strReturn=strReturn+"<"+strField+">";
}提示错误:
无效的描述符索引
CString strField;
for(i=0;i<iGetFieldCount;i++)
{
DataSet.GetFieldValue(i,strField);
strReturn=strReturn+"<"+strField+">";
}
你接受字段值的变量strField类型为CString,如果你的字段有其他类型的,在赋值的时候肯定会出错
这种形式的优点就是不论字段是什么类型,都会把结果以字符串的形式存到strFiled中。
能否再多帖一些代码呢?
你的读出来的记录只有一条记录吗?
int iSuccessSend;
CDataTable DataSet;
DataSet.Open(CRecordset::dynaset,m_query);
if(DataSet.GetRecordCount()!=0)
{
DataSet.MoveFirst();
}
else
{
return 2;
}
int iGetFieldCount,i;
CString strField,strReturn;
iGetFieldCount=DataSet.GetODBCFieldCount();
while(!DataSet.IsEOF())
{
for(i=0;i<iGetFieldCount;i++)
{
DataSet.GetFieldValue((int)i+1,strField);
strReturn=strReturn+"<"+strField+">";
}
//iSuccessSend=SendSmsData(StructReadSms.SMNumber,strReturn);
if(iSuccessSend==0)
{
//·¢Ëͳɹ¦
getSendWrongInformation(StructReadSms,strResult,"00");
return 0;
}
else
{
//·¢ËÍʧ°Ü
getSendWrongInformation(StructReadSms,strResult,"99");
return -1;
}
DataSet.MoveNext();
}