sql vc 程序运行时提示数据类型varchar转换为int出错 ,已经在分析查询器上验证存储过程正确
intid=10101;VARIANTvParam;vParam.vt=VT_INT;vParam.intVal=id;pCID=m_Ado.m_pCommand->Cr...
int id=10101;
VARIANT vParam;
vParam.vt = VT_INT;
vParam.intVal= id;
pCID =m_Ado.m_pCommand->CreateParameter("cid",adInteger,adParamInput,sizeof(int),vParam);//
m_Ado.m_pCommand->Parameters->Append(pCID);
m_Ado.m_pRecordset = m_Ado.m_pCommand->Execute(NULL, NULL, adCmdStoredProc) ; 展开
VARIANT vParam;
vParam.vt = VT_INT;
vParam.intVal= id;
pCID =m_Ado.m_pCommand->CreateParameter("cid",adInteger,adParamInput,sizeof(int),vParam);//
m_Ado.m_pCommand->Parameters->Append(pCID);
m_Ado.m_pRecordset = m_Ado.m_pCommand->Execute(NULL, NULL, adCmdStoredProc) ; 展开
1个回答
展开全部
1、varchar是字符串类型,而int是数字整型。varchar类型可以存储任意字符,而int只能存储数字整型所以会报错;
2、你可以将int类型转换为varchar类型,因为varchar可以存储任意的字符;例如:123(一百二十三)位int类型,当你将123转为varchar类型之后就变成了123(一二三)。如果你讲ABC varchar类型转换为ABC int类型时是无法转换的;
2、你可以将int类型转换为varchar类型,因为varchar可以存储任意的字符;例如:123(一百二十三)位int类型,当你将123转为varchar类型之后就变成了123(一二三)。如果你讲ABC varchar类型转换为ABC int类型时是无法转换的;
追问
你都没看过我的代码,怎么知道我没做类型转换?百度上怎么都copy/paste
以上问题已解决,谢谢
原因是参数次序错误。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询