Nos seus parâmetros tente:
cmd.Parameters.Add(new OdbcParameter("@softwareID", softwareID));
E assim por diante e assim por diante com o resto de seus parâmetros.
E com toda a honestidade, pode ser tão simples apenas construir seu sql inline e executar o comando sem parâmetros, a menos que você não valide o texto e esteja preocupado com ataques de injeção.