SQL-Verbindung mit C ++ – Fehler beim Abrufen

Also, ich habe eine einfache Verbindung zu SQL server, es verbindet sich gut und führt auch sql gut aus, es gibt mir die erste Zeile zurück, aber als wenn es den Fetch wieder schlägt, wirft es diesen Fehler:

Unhandled exception at 0x011219A0 in Jangadaserver.exe: 0xC0000005: Access violation reading location 0x00000008. 

Code:

 bool database::connect() { if (SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &sqlenvhandle)) return false; if (SQL_SUCCESS != SQLSetEnvAttr(sqlenvhandle, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, 0)) return false; if (SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_DBC, sqlenvhandle, &sqlconnectionhandle)) return false; SQLWCHAR retconstring[1024]; switch (SQLDriverConnect(sqlconnectionhandle, NULL, (SQLWCHAR*)TEXT("DRIVER=SQL server;SERVER=.\\SQLEXPRESS;DATABASE=jangadares;UID=sa;PWD=******;Trusted_Connection=no;"), SQL_NTS, retconstring, 1024, NULL, SQL_DRIVER_NOPROMPT)){ case SQL_SUCCESS_WITH_INFO: show_error(SQL_HANDLE_DBC, sqlconnectionhandle); break; case SQL_INVALID_HANDLE: case SQL_ERROR: show_error(SQL_HANDLE_DBC, sqlconnectionhandle); return false; default: break; } return true; } bool database::verify_account(char* account, char* password) { if (SQL_SUCCESS != SQLAllocHandle(SQL_HANDLE_STMT, sqlconnectionhandle, &sqlstatementhandle)) return false; if (SQL_SUCCESS != SQLExecDirect(sqlstatementhandle, (SQLWCHAR*)TEXT("select * from accounts"), SQL_NTS)){ show_error(SQL_HANDLE_STMT, sqlstatementhandle); return false; } else{ char account[50]; char password[50]; int id; while (SQLFetch(sqlstatementhandle) == SQL_SUCCESS){ SQLGetData(sqlstatementhandle, 1, SQL_C_UBIGINT, &id, 0, NULL); SQLGetData(sqlstatementhandle, 2, SQL_C_CHAR, account, 50, NULL); SQLGetData(sqlstatementhandle, 3, SQL_C_CHAR, password, 50, NULL); std::string acc = account; acc.erase(remove_if(acc.begin(), acc.end(), isspace), acc.end()); std::string pwd = password; pwd.erase(remove_if(pwd.begin(), pwd.end(), isspace), pwd.end()); printf("%d", id); printf(acc.c_str()); printf(pwd.c_str()); } } return false; } 

Ich weiß nicht, was zu tun ist, da es die erste Zeile wieder in Ordnung bringt, und es hat nur eine Zeile, also denke ich, dass ich diese Fehler behandeln sollte oder was?