Ah! Here's something:
m_odcJob.Parameters.Add("@contractid", m_ContractID)
m_odcJob.Parameters.Add("@active", -1)
The .Add() method is crazy-overloaded, and I think the arguments you want to give it are .Add( String, Object ); In the second example, you pass to it '-1', which is a base type and not an object. I can only assume that the ContractID will also be a number, so make sure you turn that into an object first, as well.
So, this turns into (assuming m_ContractID is an int):
m_odcJob.Parameters.Add("@contractid", Convert.ToInt32(m_ContractID) );
m_odcJob.Parameters.Add("@active", Convert.ToInt32(-1) );