BOOL CDBAgent::UpdateBanTable(char *UserID) { SQLHSTMT hstmt = NULL; SQLRETURN retcode; BOOL retval = FALSE; TCHAR szSQL[1024]; memset( szSQL, 0x00, 1024 ); wsprintf(szSQL, TEXT("{call UPDATE_CHARBAN (\'%s\')}"), UserID); retcode = SQLAllocHandle( (SQLSMALLINT)SQL_HANDLE_STMT, m_AccountDB.m_hdbc, &hstmt ); if (retcode != SQL_SUCCESS) { return FALSE; } retcode = SQLExecDirect (hstmt, (unsigned char *)szSQL, 1024); if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){ retval = TRUE; } else { if( DisplayErrorMsg(hstmt) == -1 ) { m_AccountDB.Close(); if( !m_AccountDB.IsOpen() ) { ReConnectODBC( &m_AccountDB, m_pMain->m_strAccountDSN, m_pMain->m_strAccountUID, m_pMain->m_strAccountPWD ); return FALSE; } } retval= FALSE; } SQLFreeHandle((SQLSMALLINT)SQL_HANDLE_STMT,hstmt); return retval; }