0

Webメソッドが挿入を行った後にWebサービスから挿入されたレコードIDを取得しようとしていますが、挿入がうまくいっていてもIDがないので、挿入メソッドがboolを返すことがわかっている場合、Webサービス内でそのIDを取得するにはどうすればよいですか? WebサービスでIDを返す方法ですが、アプリケーションにアクセスしてもnullのままです

 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;
    }

そして、私はそのようなWebアプリケーションでそれを呼び出しました

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