试试把
cmd.Parameters.Add("username",OracleType.Number);
改为
cmd.Parameters.Add("username",OracleType.Number,4);

解决方案 »

  1.   

    经过本人摸索,终于无意中解决了问题,将调用过程中的设置参数的三行代码改为:
    cmd.Parameters.Add("PARAM_DWNM",OracleType.Number);
    cmd.Parameters["PARAM_DWNM"].Direction=ParameterDirection.Input;
    cmd.Parameters["PARAM_DWNM"].Value=12354;另外,将执行代码改为cmd.ExecuteOracleScalar();
    问题解决了,达到了目的。
    个人体会,应该是VS.NET的参数(不论是传入,还是传出),都应与存储过程设置的变量一致。
    谢谢各位的参与。