If you have no reliable backups, I would create a new database and start copying tables and any other objects as fast as you can, before it dies permanently. If the data is inaccessible then can try the tool SQL Server Recovery Toolbox. It is possible you will be able to help. http://www.oemailrecovery.com/sql_repair.html

Also try this. This probably won't work, but it forces the suspect flag off.
You will first need to turn on update for systables. So run his

USE Master
Go
EXEC sp_configure 'allow updates' , 1
Go
Reconfigure
Go

Then run the following code:

update sysdatabases
set status = status & ~256
where name = 'MySuspectDatabase'


If that doesn't fix it. You will want to start copying all
the objects to a new db as ACPerkins has suggested. You will
want to place the db in emergency mode. First so run this:

update sysdatabases
set status = status | -32768
where name = 'MioSuspectDatabase'

Then use dts, Select into's and whatever else to get the objects from
the suspect DB to a new one. Dont forget to undo the allow updates option:

EXEC sp_configure 'allow updates' , 1
Go
Reconfigure
Go