参数绑定问题跪求!

Gorky Gorky 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
if (m_retcode == SQL_SUCCESS || m_retcode ==SQL_SUCCESS_WITH_INFO)
{
m_retcode = ::SQLBindParameter(m_hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlBulletinID,PARAM_INPUT_LEN,&cbInput);
// m_retcode = ::SQLBindParameter(m_hstmt,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlTitle,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlSendTime,PARAM_INPUT_LEN,&cbInput);
/* m_retcode = ::SQLBindParameter(m_hstmt,4,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlInvaidTime,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,5,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlSendStaffNo,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,6,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlAffixPath,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,7,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlGrade,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,8,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlBulletinType,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,9,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlServerPath,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,10,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlClassID,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,11,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlOperationID,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,12,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlCallCauseID,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,13,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlrelKnowledgeIds,PARAM_INPUT_LEN,&cbInput);
m_retcode = ::SQLBindParameter(m_hstmt,14,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_INPUT_LEN,0,sqlisPopup,PARAM_INPUT_LEN,&cbInput);
*/ m_retcode = ::SQLBindParameter(m_hstmt,3,SQL_PARAM_OUTPUT,SQL_C_CHAR,SQL_VARCHAR,PARAM_OUTPUT_LEN,0,sqlRet,PARAM_OUTPUT_LEN,&cbOutput);
m_retcode = ::SQLExecDirect( m_hstmt, (PUCHAR)szSql, SQL_NTS );

sprintf(tmp,"调用存储过程m_retcode= %d\n",m_retcode);
WriteTrace(tmp);
}
数据库为ORACLE,当我绑定一个参数插入数据库(调用存储过程)时候就可以成功插入。
但如果绑定两个或者两个以上的参数时数据库就出现了:“ORA-01461: can bind a LONG value only for insert into a LONG column”异常。存储过程中的输入参数我根据程序中的参数也做了相应的改动,是一一匹配的。
拜托众兄弟能给解决一下!
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
Gorky
数据库 4,017 成员 39,805 内容