HP Integrity NonStop H-Series User Manual
Page 56

memset (szBuf,'\0',600);
if (hStmt)
st = SQLGetDiagRec(SQL_HANDLE_STMT,hStmt,1,Err->szSqlState,
Err->pfNativeError, Err->szErrorMsg,150,Err->pcbErrorMsg);
else if (hDbc)
st = SQLGetDiagRec(SQL_HANDLE_DBC,hDbc,1,Err->szSqlState,
Err->pfNativeError, Err->szErrorMsg,150,Err->pcbErrorMsg);
else if (hEnv)
st = SQLGetDiagRec(SQL_HANDLE_ENV,hEnv,1,Err->szSqlState,
Err->pfNativeError, Err->szErrorMsg,150,Err->pcbErrorMsg);
if ((st == SQL_SUCCESS) || (st == SQL_SUCCESS_WITH_INFO))
{
sprintf(szBuf," %s - [%s]\n", (char *)Err->szErrorMsg,
Err->szSqlState);
printf("%s \n",szBuf);
}
free(Err->szErrorMsg);
free(Err->szSqlState);
free(Err);
free(szBuf);
return SQL_SUCCESS;
}
int main(int argc, char *argv[])
{
RETCODE st = 0;
SQLHENV henv = (SQLHENV) NULL;
SQLHDBC hdbc = (SQLHDBC) NULL;
SQLHDBC hdbc1 = (SQLHDBC) NULL;
SQLHDBC hdbc2 = (SQLHDBC) NULL;
SQLHSTMT hstmt = (SQLHSTMT) NULL;
SQLHSTMT hstmt1 = (SQLHSTMT) NULL;
CHAR CreateTable[100] = {'\0'};
CHAR InsertTable[100] = {'\0'};
CHAR SelectTable[100] = {'\0'};
int value;
SQLINTEGER ValInd;
SQLINTEGER RowCount = 0;
SQLINTEGER val;
SDWORD pcbValue = 0;
SQLCHAR infoValueBuf[100] = {'\0'};
SQLCHAR*infoValuePtr=0;
SQLSMALLINT StringLengthPtr = NULL;
char Password[40]="\0";
char UserID[40]="\0";
char *serverName="TDM_Default_DataSource";
short value1=10;
short value2=20;
bool defaultDS=false;
printf("\n\tPURPOSE :: TO TEST ODBC API'S ON ODBC
DRIVER\n\n");
if(argc>1)
{
if(!strcmp(argv[1], "-help"))
{
printf("USAGE: odbcdemo
printf("Eg: odbcdemo DEMO\n");
printf("Note: Default Data Source will be used in case no DS
specified!\n");
return 0;
}
serverName = argv[1];
}
printf("User Name: ");
scanf("%s", UserID);
printf("Password : ");
56
Sample ODBC application