“IDispatch error #3105 ” 是什么错误??

时间:2021-10-08 16:13:42
我用ADO调用SYBASE的存储过程,出现“IDispatch error #3105”的错误提示,不知是什么原因引起的。谁能帮我??

5 个解决方案

#1


这个错误的提示为:
"因为系统在 %1 此路径运行失败,所以无法初始化系统。 系统错误码就是相关数据。" 
把你那个调用存储过程的方法封在一个try...catch里
try
{
  //调用的存储过程
}
catch(_com_error &e)
{
   AfxMessageBox(e.ErrorMessage());
}

#2


不明白。
我已经把存储过程的方法封在try...catch里了,我的记录集返回多条记录,前两条记录取的都很正常,可是第三条取到中间一个字段时就出现“IDispatch error #3105 ” 的错误。

这个字段的代码如下:
result5=m_pRecordset->GetCollect((long)4);//库存市值
if(result5.vt!=NULL)
{
result5.ChangeType(VT_BSTR);
CString strResult5=result5.bstrVal;
strcpy(kcsz,strResult5);
WriteFile(hFile,kcsz,strlen(kcsz), (ULONG *)&nLen, NULL);
}

result5返回值是VT_DECIMAL类型,不知是不是result5.ChangeType(VT_BSTR)这句转换有问题?后来我把它代码改为
result5=m_pRecordset->GetCollect((long)4);//库存市值
if(result5.vt!=NULL)
{
CString strResult5;
strResult5.Format("%f",result5.decVal);!!!不知这样改行不行?!!!!
strcpy(kcsz,strResult5);
WriteFile(hFile,kcsz,strlen(kcsz), (ULONG *)&nLen, NULL);
}



#3


上帝救救我吧!!

#4


高手在吗?

#5


up

#1


这个错误的提示为:
"因为系统在 %1 此路径运行失败,所以无法初始化系统。 系统错误码就是相关数据。" 
把你那个调用存储过程的方法封在一个try...catch里
try
{
  //调用的存储过程
}
catch(_com_error &e)
{
   AfxMessageBox(e.ErrorMessage());
}

#2


不明白。
我已经把存储过程的方法封在try...catch里了,我的记录集返回多条记录,前两条记录取的都很正常,可是第三条取到中间一个字段时就出现“IDispatch error #3105 ” 的错误。

这个字段的代码如下:
result5=m_pRecordset->GetCollect((long)4);//库存市值
if(result5.vt!=NULL)
{
result5.ChangeType(VT_BSTR);
CString strResult5=result5.bstrVal;
strcpy(kcsz,strResult5);
WriteFile(hFile,kcsz,strlen(kcsz), (ULONG *)&nLen, NULL);
}

result5返回值是VT_DECIMAL类型,不知是不是result5.ChangeType(VT_BSTR)这句转换有问题?后来我把它代码改为
result5=m_pRecordset->GetCollect((long)4);//库存市值
if(result5.vt!=NULL)
{
CString strResult5;
strResult5.Format("%f",result5.decVal);!!!不知这样改行不行?!!!!
strcpy(kcsz,strResult5);
WriteFile(hFile,kcsz,strlen(kcsz), (ULONG *)&nLen, NULL);
}



#3


上帝救救我吧!!

#4


高手在吗?

#5


up