bool MyDatabase::DoSimpleQueryEx(const char *query, size_t len) { IQuery *pQuery = DoQueryEx(query, len); if (!pQuery) { return false; } pQuery->Destroy(); return true; }
bool MyDatabase::DoSimpleQuery(const char *query) { IQuery *pQuery = DoQuery(query); if (!pQuery) { return false; } pQuery->Destroy(); return true; }
static cell_t SQL_Query(IPluginContext *pContext, const cell_t *params) { IDatabase *db = NULL; HandleError err; if ((err = g_DBMan.ReadHandle(params[1], DBHandle_Database, (void **)&db)) != HandleError_None) { return pContext->ThrowNativeError("Invalid database Handle %x (error: %d)", params[1], err); } char *query; pContext->LocalToString(params[2], &query); IQuery *qr; if (params[0] >= 3 && params[3] != -1) { qr = db->DoQueryEx(query, params[3]); } else { qr = db->DoQuery(query); } if (!qr) { return BAD_HANDLE; } CombinedQuery *c = new CombinedQuery; c->query = qr; c->db = db; Handle_t hndl = g_HandleSys.CreateHandle(hCombinedQueryType, c, pContext->GetIdentity(), g_pCoreIdent, NULL); if (hndl == BAD_HANDLE) { qr->Destroy(); delete c; return BAD_HANDLE; } return hndl; }