Sorry for the first answer I gave, but I messed up two SQL's.
First one:
SELECT sum(size)
FROM sysextents
WHERE dbsname = "<databasename>"
This will give you the space on disk of this database in pages. (All allocated pages)
Second one:
SELECT sum(nptotal), sum(npused),sum(npdata)
FROM sysptnhdr
WHERE partnum IN (SELECT partnum FROM systabname
WHERE dbsname = "<name of database>")
The firts column will give pages allocated, the second one pages used (data+indexes+blob+bitmap, etc), the third column will give the total amount of data pages.
I hope this will be helpfull,
Rob Prop