パラメータで試してみてください:
cmd.Parameters.Add(new OdbcParameter("@softwareID", softwareID));
など、残りのパラメータも同様です。
そして正直なところ、テキストを検証せず、インジェクション攻撃を懸念しない限り、SQLをインラインで構築し、パラメーターなしでコマンドを実行するのも同じくらい簡単かもしれません。
パラメータで試してみてください:
cmd.Parameters.Add(new OdbcParameter("@softwareID", softwareID));
など、残りのパラメータも同様です。
そして正直なところ、テキストを検証せず、インジェクション攻撃を懸念しない限り、SQLをインラインで構築し、パラメーターなしでコマンドを実行するのも同じくらい簡単かもしれません。