Capture the Query Text of a DML Change
Have you considered using a trace for that? 
https://technet.microsoft.com/en-us/library/ms191006%28v=sql.105%29.aspx 
You would be able to configure it for specific tables and store output in a table.

I also have to point out that, with the method you are trying to use, you will only be able to capture the query used to change the table.
In some situations you will also get the constant values e.g.

DECLARE @ID_to_delete INT
SET @ID_to_delete = 123
DELETE FROM SampleTable WHERE ID = @ID_to_delete


While in most other cases you will get just the query used to change data e.g.

DELETE FROM SampleTable WHERE ID IN( SELECT ID_to_delete FROM ToDeleteTable )