You don't indicate what version you're running, but if SQL2005 you could (quick n dirty) do this.. it returns a superset of the columns you used but you can always customize that.
SELECT
sp.*,
DB_NAME(sp.dbid) dbname,
OBJECT_NAME(st.objectid,sp.dbid) as oname,
CAST(st.text AS VARCHAR(7000)) as script
FROM
sys.sysprocesses sp
CROSS APPLY
sys.dm_exec_sql_text (sp.sql_handle) st
...BOL mentions sys.sysprocesses is not long for this world so you *really* should use one of these-- depending on what you need:
sys.dm_exec_connections
sys.dm_exec_sessions
sys.dm_exec_requests