0

我试图在 Web 方法执行插入之后从 Web 服务获取插入的记录 id,但它没有 id,即使插入进展顺利,所以如果我们知道插入方法返回 bool,我怎么能在 Web 服务中获得该 id它在Web服务中返回ID的方式但是当我转到我的应用程序时它仍然为空

 if (ExecuteSqlCommand(Comm) > 0)
        {
            result = true;
            Obj.CUSTOMER_BANK_ACC_ID = (decimal)Comm.Parameters["p_CUSTOMER_BANK_ACC_ID"].Value;
        }
        return result;
4

1 回答 1

1

我明白了,如果你想在传递的对象中被阻止的 web 服务中返回插入的记录 id,只需通过 ref 传递对象,这里是代码

网络服务功能

  public bool AddObject(ref T_COMN_CUSTOMER_BANK_ACC_Entity Obj)
    {
        bool result = false;
        OracleCommand Comm = new OracleCommand(InsertCommandName, Connection);
        Comm.CommandType = CommandType.StoredProcedure;
        Comm.Parameters.Add("p_CUSTOMER_ID", OracleType.Number).Value = Obj.CUSTOMER_ID;
        Comm.Parameters.Add("p_CUSTOMER_TP_ID", OracleType.Number).Value = Obj.CUSTOMER_TP_ID;
        Comm.Parameters.Add("p_CUSTOMER_BANK_ACC_ID", OracleType.Number).Direction = ParameterDirection.Output;
        Comm.Parameters.Add("p_BANK_ID", OracleType.Number).Value = Obj.BANK_ID;
        Comm.Parameters.Add("p_IBAN", OracleType.NVarChar, 200).Value = Obj.IBAN;
        Comm.Parameters.Add("p_IS_DELETED", OracleType.Number).Value = Obj.IS_DELETED;
        Comm.Parameters.Add("p_CREATED_BY", OracleType.NVarChar, 200).Value = Obj.CREATED_BY;
        Comm.Parameters.Add("p_CREATED_DT", OracleType.DateTime).Value = Obj.CREATED_DT;
        Comm.Parameters.Add("p_MODIFIED_BY", OracleType.NVarChar, 200).Value = Obj.MODIFIED_BY;
        Comm.Parameters.Add("p_MODIFIED_DT", OracleType.DateTime).Value = Obj.MODIFIED_DT;
        if (ExecuteSqlCommand(Comm) > 0)
        {
            result = true;
            Obj.CUSTOMER_BANK_ACC_ID = (decimal)Comm.Parameters["p_CUSTOMER_BANK_ACC_ID"].Value;
        }
        return result;
    }

我像这样在网络应用程序中调用它

pers.AddObject(ref Customer_Bank_Acc_Obj);
于 2013-03-11T08:09:39.433 回答