En tus parámetros prueba:
cmd.Parameters.Add(new OdbcParameter("@softwareID", softwareID));
Y así sucesivamente con el resto de sus parámetros.
Y con toda honestidad, podría ser igual de simple construir su sql en línea y ejecutar el comando sin parámetros a menos que no esté validando el texto y le preocupen los ataques de inyección.