|
ODBC:
RETCODE retcode;
HSTMT hstmt;
...........
#define PARA_LEN 20
UCHAR v1[PARA_LEN],v2[PARA_LEN],v3[PARA_LEN],v4[PARA_LEN],v5[PARA_LEN],v6[PARA_LEN],v7[PARA_LEN],v8[PARA_LEN],v9[PARA_LEN];
SDWORD sv=SQL_NTS;
if(SQLFreeStmt(hstmt,SQL_CLOSE)!=SQL_SUCCESS){
return -1;
}
retcode =SQLBindParameter(hstmt, 1, SQL_PARAM_INPUT_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, PARA_LEN, 0, v1, PARA_LEN, &sv);
retcode =SQLBindParameter(hstmt, 2, SQL_PARAM_INPUT_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, PARA_LEN, 0, v2, PARA_LEN, &sv);
retcode =SQLBindParameter(hstmt, 3, SQL_PARAM_INPUT_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, PARA_LEN, 0, v3, PARA_LEN, &sv);
retcode =SQLBindParameter(hstmt, 4, SQL_PARAM_INPUT_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, PARA_LEN, 0, v4, PARA_LEN, &sv);
retcode =SQLBindParameter(hstmt, 5, SQL_PARAM_INPUT_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, PARA_LEN, 0, v5, PARA_LEN, &sv);
retcode =SQLBindParameter(hstmt, 6, SQL_PARAM_INPUT_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, PARA_LEN, 0, v6, PARA_LEN, &sv);
retcode =SQLBindParameter(hstmt, 7, SQL_PARAM_INPUT_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, PARA_LEN, 0, v7, PARA_LEN, &sv);
retcode =SQLBindParameter(hstmt, 8, SQL_PARAM_INPUT_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, PARA_LEN, 0, v8, PARA_LEN, &sv);
retcode =SQLBindParameter(hstmt, 9, SQL_PARAM_INPUT_OUTPUT, SQL_C_CHAR, SQL_VARCHAR, PARA_LEN, 0, v9, PARA_LEN, &sv);
strcpy(v1,p1);
strcpy(v2,p2);
strcpy(v3,p3);
strcpy(v4,p4);
strcpy(v5,p5);
strcpy(v6,p6);
strcpy(v7,p7);
strcpy(v8,p8);
strcpy(v9,p9);
retcode = SQLExecDirect(hstmt, "{call proc_name(?,?,?,?,?,?,?,?,?)}",SQL_NTS);
if( (retcode == SQL_SUCCESS) || (retcode == SQL_SUCCESS_WITH_INFO) ){
strcpy(p1,v1);
strcpy(p2,v2);
strcpy(p3,v3);
strcpy(p4,v4);
strcpy(p5,v5);
strcpy(p6,v6);
strcpy(p7,v7);
strcpy(p8,v8);
strcpy(p9,v9);
return 0;
}else {
return -1;
} |
|