StrataFrame Forum

Parent BO error when Child BO present

http://forum.strataframe.net/Topic4441.aspx

By Greg McGuffey - 11/14/2006

I have a form with three BOs on it. One parent and two children. In the FormLoad event handler I have a call to one of the parent BO's fill methods:



me.ProjectProcessBO1.FillByProject(projectID)



In the fill method, I'm (for now) just using a sql statement:



dim sql as string

sql = "Select * From tblProjectProcess Where ProjectID = " & projectID

return me.FillDataTable(sql)



If I set the parent BO on both child objects, I get an error on the FillDataTable call (see below). If only one parent is set, then it works (either one, just so long as it is only one). ProjectProcessID is the PK for the table (and the FK for the two child tables). Note, I'm not calling anything with the children (in my code). This is happening when the parent loads.



Any ideas as to what is occurring?



Here is the error text:



SyntaxErrorException

   Syntax error: Missing operand after 'ProjectProcessID' operator.



Source : System.Data



Stack Trace:

at System.Data.ExpressionParser.Parse()

at System.Data.DataExpression..ctor(DataTable table, String expression, Type type)

at System.Data.DataView.set_RowFilter(String value)

at MicroFour.StrataFrame.Business.BusinessLayer.set_Filter(String value)

at MicroFour.StrataFrame.Business.BusinessLayer.FilterChildRecords(BusinessLayer ChildBusinessObject)

at MicroFour.StrataFrame.Business.BusinessLayer.FilterChildRecords()

at MicroFour.StrataFrame.Business.BusinessLayer.Navigate(BusinessNavigationDirection Direction, Int32 AbsoluteIndex, Object[] PrimaryKeyValues, Boolean AttemptToCheckRules, Boolean IsRefill)

at MicroFour.StrataFrame.Business.BusinessLayer.OnCurrentDataTableRefilled()

at MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(DataTable NewTable, Boolean AcceptChanges, Boolean IsSharedTable)

at MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(DataTable NewTable, Boolean AcceptChanges)

at MicroFour.StrataFrame.Business.BusinessLayer.ChangeCurrentDataTable(DataTable NewTable)

at MicroFour.StrataFrame.Business.BusinessLayer.FillDataTable(String SelectStatement)

at RAMS_MITA_2.ProjectProcessBO.FillByProject(Int32 projectID) in C:\Projects\MyProject\ProjectProcessBO.vb:line 80

at RAMS_MITA_2.ProjectProcessForm.ProjectProcess_Load(Object sender, EventArgs e) in C:\Projects\MyProject\ProjectProcessForm.vb:line 111

at System.EventHandler.Invoke(Object sender, EventArgs e)

at System.Windows.Forms.Form.OnLoad(EventArgs e)

at MicroFour.StrataFrame.UI.Windows.Forms.BaseForm.OnLoad(EventArgs e)

at System.Windows.Forms.Form.OnCreateControl()

at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)

at System.Windows.Forms.Control.CreateControl()

at System.Windows.Forms.Control.WmShowWindow(Message& m)

at System.Windows.Forms.Control.WndProc(Message& m)

at System.Windows.Forms.ScrollableControl.WndProc(Message& m)

at System.Windows.Forms.ContainerControl.WndProc(Message& m)

at System.Windows.Forms.Form.WmShowWindow(Message& m)

at System.Windows.Forms.Form.WndProc(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)

at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
By StrataFrame Team - 11/14/2006

The FilterChildRecords() method was bugged... the bug was reported some time ago and we fixed it, but appearantly, the fix was removed... probably due to some source control merge of the code file.  As the method cycles through the child business objects, the filter is recreated for each one, but the filter is not cleared in between each one.  So, if you only have one child, it works, but as soon as you add a second child into the mix, it fails on the second child filter, because the method just continues to append the new filter to the old filter (which obviously doesn't work...).  The fix will be in the next update.
By Greg McGuffey - 11/14/2006

When is the next update?
By StrataFrame Team - 11/15/2006

We probably won't release one until Friday, and it won't be a major release, just one containing bug fixes.
By Jon Olson - 11/27/2006

Has this been fixed yet? I am having the same problem.
By StrataFrame Team - 11/27/2006

Yes, the last update that was posted on 11/20/06 contains the fix.