dbpub.sqc

来自「转发交易接口」· SQC 代码 · 共 87 行

SQC
87
字号
#include <stdio.h>#include <stdlib.h>#include <stdarg.h>#include <string.h>#include <sql.h>#include <sqlenv.h>#include <sqlda.h>#include <sqlca.h>#include <sqlutil.h>#include <db2ApiDf.h>#include <string.h>#include <ctype.h>#include "public.h"void SqlInfoGet(char *Msg, struct sqlca *pSqlca){  char sqlInfo[1024];  char sqlstateMsg[1024];  char errorMsg[1024];  int rc = 0;  strcpy(Msg, "");    if (pSqlca->sqlcode != 0 && pSqlca->sqlcode != 100)  {    if (pSqlca->sqlcode != 0)    {      sprintf(sqlInfo, "error report");    }    else    {      sprintf(sqlInfo, "warning report");    }     /* get error message */    rc = sqlaintp(errorMsg, 1024, 80, pSqlca);    if (rc > 0) /* return code is the length of the errorMsg string */    {      strcat(sqlInfo, errorMsg);    }    /* get SQLSTATE message */    rc = sqlogstt(sqlstateMsg, 1024, 80, pSqlca->sqlstate);    if (rc > 0)    {      strcat(sqlInfo, sqlstateMsg);    }    strcpy(Msg, sqlInfo);  } } int runsql(char *errorMsg, const char * p_lpszFormat, ... )  {  struct sqlca sqlca;  va_list args;  char  lpszFString[1024];  va_start( args, p_lpszFormat );  vsprintf( lpszFString, p_lpszFormat, args );  va_end( args );  debugLog(__FILE__,__LINE__, "run sql: ", lpszFString);  EXEC SQL EXECUTE IMMEDIATE :lpszFString;  if (sqlca.sqlcode != 0)                               {                                                          SqlInfoGet(errorMsg, &sqlca);  	sprintf(errorMsg, "run sql false SQLCODE = [%-d]%s\n", sqlca.sqlcode, errorMsg);  	debugLog(__FILE__,__LINE__, errorMsg);        EXEC SQL ROLLBACK;        return sqlca.sqlcode;  }  else  {    EXEC SQL COMMIT;    if (sqlca.sqlcode != 0)                                 {                                                          SqlInfoGet(errorMsg, &sqlca);  	sprintf(errorMsg, "run sql commit false SQLCODE = [%-d]%s\n", sqlca.sqlcode, errorMsg);  	debugLog(__FILE__,__LINE__, errorMsg);  	return sqlca.sqlcode;    }    return 0;  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?