创建存储过程
create proc getdataid (@termid int,@dataid int output)  
as  
select DataID from PlotInfo where TermID=@termid order by r_index 
go////////////////////在查询器中,执行:
declare @dataid int 
exec  getdataid 13,@dataid output 
结果:
159
////////////////////
用ODBC API调用:
      char szStr[SQLLEN];
      sprintf(szStr,"{call proc getdataid(13,?)}");  HSTMT   hstmtU=NULL;
RETCODE retcode=1;
SQLINTEGER sk=0;
SQLINTEGER sp=0;
  SetupConnect(hd,LBaseHost);//连接数据库
if( hd->hstmt == NULL) 
SQLAllocHandle(SQL_HANDLE_STMT,hd->hdbc,&hd->hstmt);
retcode = SQLPrepare(hd->hstmt,(UCHAR *)szSql,SQL_NTS); retcode = SQLBindParameter(hd->hstmt, 1,  SQL_PARAM_OUTPUT,SQL_C_LONG,SQL_INTEGER, 10, 0, &sk, 0, &sp);
  retcode = SQLExecute(hd->hstmt); 
        //为什么执行成功后,sk取不到值???
SQLFreeHandle(SQL_HANDLE_STMT, hd->hstmt);