📄 dbpub.sqc
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -