我在SQl Server中创建
Create Procedure AP_TEST  @User    varchar(11),
    @Message     varchar(140),
    @ReturnMessage      varchar(140) output,
    @Fee     int output
AS   
BEGIN
    SELECT   @ReturnMessage= '这是一个测试程序'
    SELECT   @Fee = 100
    insert  TestTableName(ReturnMessage,Fee) values(@ReturnMessage,@Fee)
    return 
END 在VC中调用ODBC去调用该存储过程
char  User[11];
char  Message[140];
cahr  ReturnMessage[140];
int   Fee;
SQLINTEGER cbUser = SQL_NTS,cbMessage = SQL_NTS,cbReturnMessage = SQL_NTS,
     cbFee = SQL_NTS; SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,11,0,User,0,&cbUser);
SQLBindParameter(hstmt,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,140,0,Message,0,&cbMessage);
SQLBindParameter(hstmt,3,SQL_PARAM_OUTPUT,SQL_C_CHAR,SQL_CHAR,140,0,ReturnMessage,140,&cbReturnMessage);
            SQLBindParameter(hstmt,4,SQL_PARAM_OUTPUT,SQL_C_SSHORT,SQL_INTEGER,0,0,&Fee,20,&cbFee); strcpy(UserID,"13574101234");
strcpy(MessageContent,"测试");
         TRACE("返回结果1:%s",ReturnMessage);
         TRACE("返回结果2:%d",Fee);
结果输出的是:
    返回结果1:返回结果2:-68785633;但是我在数据库里发现存储过程AP_TEST  执行的很好的,是对的,为什么