InsertUsingStoredProcedure = True, leaves BO dirty


Author
Message
Leonard P.
Leonard P.
StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)
Group: Awaiting Activation
Posts: 65, Visits: 306
Hello,

I have a maintenance form. All data operations (update/insert/delete) used to work great, until I decided to handle inserts through a stored procedure.

Well, it's still kind of works, but after new row is added and Save is clicked, BO state remains dirty no matter what. So when form is closing "Would you like to save changes" dialog is displayed, even though user did click save before (many times).

Another thing I am noticing is that BO always sees new row as "New" even after Save is clicked and changes committed to the db, so if user clicks save multiple times it keeps adding the same record over and over again.

Please help. Thank you.

Leonard P.
Leonard P.
StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)
Group: Awaiting Activation
Posts: 65, Visits: 306
As a temporary work around I added code to _AfterSave even to accept changes on the current row:

  private void customReport_AfterSave(MicroFour.StrataFrame.Data.AfterSaveUndoEventArgs e)
        {
            foreach (DataRow row in customReport.CurrentDataTable.Rows)
            {
                if (row.RowState == DataRowState.Added)
                {
                    row.AcceptChanges();
                }
            }

        }

I hope to find better way of handeling it withing the Framework.

Dustin Taylor
Dustin Taylor
StrataFrame Team Member (660 reputation)
Group: StrataFrame Users
Posts: 364, Visits: 771
Did you write these sprocs yourself or let the DDT generate them? If you wrote them yourself, you can't use the SET NOCOUNT ON command at the top of your sproc (StrataFrame uses the count to determine the number of rows affected.)
Leonard P.
Leonard P.
StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)StrataFrame Novice (83 reputation)
Group: Awaiting Activation
Posts: 65, Visits: 306
Dustin, It was mine SP. SET NOCOUNT ON was the probelm.Thank you
Dustin Taylor
Dustin Taylor
StrataFrame Team Member (660 reputation)
Group: StrataFrame Users
Posts: 364, Visits: 771
No problem, glad you got it working Smile
Marcia G Akins
Marcia G Akins
Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)
Group: StrataFrame Users
Posts: 322, Visits: 529
Hello Stataframe team Member:

>> you can't use the SET NOCOUNT ON command at the top of your sproc (StrataFrame uses the count to determine the number of rows affected.) <<

It would be awfully nice if this were actually in the Stataframe documentation. Since my husband is a SQL Server DBA, he writes all of my stored procedures. I just happened to find this accidentally after a day of pulling my hair out for no reason.

Since best practice in SQL Server is to SET NOCOUNT ON at the beginning of every stored procedure to improve performance and to use @@RowCount to return the row count, my husband does not understand why the framework relies on NOCOUNT being off.

Marcia

Dustin Taylor
Dustin Taylor
StrataFrame Team Member (660 reputation)
Group: StrataFrame Users
Posts: 364, Visits: 771
Marcia,

As mentioned in the previous post, I'll include a note in the pertinent topics regarding SET NOCOUNT ON for the next release. Sorry for the confusion! Smile

Marcia G Akins
Marcia G Akins
Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)
Group: StrataFrame Users
Posts: 322, Visits: 529
Hi Dustin.

>> As mentioned in the previous post, I'll include a note in the pertinent topics regarding SET NOCOUNT ON for the next release. Sorry for the confusion! <<

No worries Smile I really am not rying to beat you up on this one. All in all, I am happy with my choice to go with Strataframe. It's a big product, so I expect to get a few bruises on the learning curve Smile

Charles R Hankey
Charles R Hankey
Advanced StrataFrame User (940 reputation)Advanced StrataFrame User (940 reputation)Advanced StrataFrame User (940 reputation)Advanced StrataFrame User (940 reputation)Advanced StrataFrame User (940 reputation)Advanced StrataFrame User (940 reputation)Advanced StrataFrame User (940 reputation)Advanced StrataFrame User (940 reputation)Advanced StrataFrame User (940 reputation)
Group: Forum Members
Posts: 524, Visits: 30K
I for one am very glad to see you here. I think we all agree good frameworks only get better when knowledgable, experienced and ... intense BigGrin users bang on it and ask questions.



As I said before, I think the more you get to know the framework - and especially the Microfour folks - the more you are going to be delighted.

Marcia G Akins
Marcia G Akins
Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)Advanced StrataFrame User (512 reputation)
Group: StrataFrame Users
Posts: 322, Visits: 529
Hi Charles.

Well, having written my own VFP framework, I understand all too well that all frameworks make assumptions and in order to use the framework effectively, one has to understand what those assumptions are BigGrin That is the learning curve and it can't be avoided.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search