コード例 #1
0
static cell_t SQL_GetAffectedRows(IPluginContext *pContext, const cell_t *params)
{
	IDatabase *db = NULL;
	IPreparedQuery *stmt = NULL;
	IQuery *query = NULL;
	HandleError err;

	if (((err = ReadDbOrStmtHndl(params[1], pContext, &db, &stmt)) != HandleError_None)
		&& ((err = ReadQueryAndDbHndl(params[1], pContext, &query, &db)) != HandleError_None))
	{
		return pContext->ThrowNativeError("Invalid statement, db, or query Handle %x (error: %d)", params[1], err);
	}


	if (stmt)
	{
		return stmt->GetAffectedRows();
	}
	else if (query)
	{
		return db->GetAffectedRowsForQuery(query);
	}
	else if (db)
	{
		return db->GetAffectedRows();
	}

	return pContext->ThrowNativeError("Unknown error reading db/stmt/query handles");
}