关于.Net中开发Oracle数据库ExecuteNonQuery的返回值问题!!!!我们都知道,在.net 中执行ExecuteNonQuery时,对于INSERT,UPDATE,DELETE语句,返回值为受影响的行数,我在存储过程中执行上述三类SQL语句都已经在数据库中执行成功,,,可是ExecuteNonQuery函数总是返回-1。请各位大虾指点!!!!

解决方案 »

  1.   

    没用过ORACLE不清楚,不过好像看起来很奇怪。照理说应该不可能。汗,不知道是否你的操作有问题?
      

  2.   

    换换ado.net的oracle的驱动,用ms的看看。
      

  3.   

    不是啊,是INSERT ,UPDATE 和DELETE语句
      

  4.   

    存储过程如下:
    (SortName VARCHAR2 ,ID  OUT NUMBER)
    AS     
    BEGIN     
        SELECT SortID.nextval INTO ID FROM DUAL;           
        INSERT INTO t_xsort(code,sort) VALUES(ID,SortName);                
    END; 程序代码如下:
    OracleCommand cmd = new OracleCommand(storedProcName,conn);
    cmd.CommandType = CommandType.StoredProcedure;
    OracleParameter parm() = { new OracleParameter(OracleDbType.Int32,2),
                               new OracleParameter(OracleDbType.Varchar2,20)};
    param(0).Value = "test"
    param(1).Direction = ParameterDirection.Output cmd.Parameters.Add(parm(0));
    cmd.Parameters.Add(parm(1));int RetValue = cmd.ExecuteNonQuery();// ----------------------------------------------
    // RetValue 总是返回-1