Are you absolutely sure that nothing is currently connected to your database? I had this problem but it turned out that a Windows Service was using it unbeknownst to me.
Use this query for a list of connections to databases
SELECT DB_NAME(dbid) as database_name, nt_domain, nt_username, hostprocess
FROM sys.sysprocesses
WHERE dbid > 0
The hostprocess field is the Windows Process ID which you can then look up in the Task Manager.