Print Page | Close Window

Stored Procedure with output parameter?

Printed From: IdeaBlade
Category: DevForce
Forum Name: DevForce 2010
Forum Discription: For .NET 4.0
URL: http://www.ideablade.com/forum/forum_posts.asp?TID=3219
Printed Date: 30-Mar-2025 at 10:43pm


Topic: Stored Procedure with output parameter?
Posted By: katit
Subject: Stored Procedure with output parameter?
Date Posted: 17-Jan-2012 at 6:57pm
Is that supported? This is code I have (what I found in documentation) but seems like I can't get parameter out. Right? What choices do I have?
 
public INotifyCompleted GetNextTripNumber(Action<int> onSuccess = null, Action<Exception> onFail = null)
        {
            int? nextTripNumber = 0;
            var query = this.EntityManager.SYSGetNextNumberQuery("MobileTrip", nextTripNumber);
            var entityQueryOperation = this.EntityManager.ExecuteQueryAsync(query);
            entityQueryOperation.Completed += (s, args) =>
            {
                if (args.CompletedSuccessfully)
                {
                    onSuccess(nextTripNumber.Value);
                }
                else
                {
                    args.MarkErrorAsHandled();
                    onFail(args.Error);
                }
            };
            return entityQueryOperation;
        }



Replies:
Posted By: DenisK
Date Posted: 18-Jan-2012 at 12:52pm
Hi katit,

StoredProcs with out parms is supported starting version 6.1.2. See the following release notes for more details. Look for F1703.

http://drc.ideablade.com/xwiki/bin/view/Documentation/612-release-notes#HNewandimprovedproductfeatures - http://drc.ideablade.com/xwiki/bin/view/Documentation/612-release-notes#HNewandimprovedproductfeatures

To access the output parameters when doing async query, use StoredProcQuery.Parameters list. So in your case, it will be something like this.

            StoredProcQuery query = this.EntityManager.SYSGetNextNumberQuery("MobileTrip", nextTripNumber);
            var entityQueryOperation = this.EntityManager.ExecuteQueryAsync(query);
            entityQueryOperation.Completed += (s, args) =>
            {
                if (args.CompletedSuccessfully)
                {
    nextTripNumber = query.Parameters[1].Value;
                    onSuccess(nextTripNumber.Value);
                }
                else
                {
                    args.MarkErrorAsHandled();
                    onFail(args.Error);
                }
            };





Print Page | Close Window