You certainly don't need a cursor, as others have shown you. However, may I suggest you approach this from a different angle? It's all very well checking you have a backup job with the database name in it for each database, but what if one of them is disabled, or not scheduled, or wrongly scheduled, or is backing up the wrong database? I think you'd be better checking the backupset table in msdb to verify that backups have actually taken place. You can use a script like the one below and schedule it to run regularly. I've got a central SSIS package that runs against all servers and compares the results with what is expected, checks that the backup files exist and reports any discrepancies.
SELECT
r.DBName
,r.[type]
,r.BackupStart
,s.backup_finish_date
,s.backup_size
,m.physical_device_name
FROM ( --gets most recent of each type of backup for each DB
SELECT
d.name AS DBName
,b.[type]
,MAX(b.backup_start_date) AS BackupStart
FROM
master..sysdatabases d
LEFT JOIN
msdb..backupset b
ON
d.name = b.database_name
JOIN
msdb..backupmediafamily f ON b.media_set_id = f.media_set_id
GROUP BY
d.name
,b.type
) r
JOIN
msdb..backupset s
ON
r.DBName = s.database_name AND r.[type] = s.[type] AND r.BackupStart = s.backup_start_date
JOIN
msdb..backupmediafamily m ON s.media_set_id = m.media_set_id
ORDER BY
r.DBName
,r.[type]
John