Calling a Generic BO


Author
Message
Terry Bottorff
Terry Bottorff
StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)
Group: Forum Members
Posts: 448, Visits: 12K
I have a generic BO with the following Sub:

Public Sub FillAllData(ByVal objbo As Object)
        Using cmd As New SqlCommand
            cmd.CommandType = CommandType.Text
            cmd.CommandText = String.Format("Select * from {0}", Me.TableNameAndSchema)
            objbo.FillDataTable(cmd)
        End Using
    End Sub

Then I add a BO to my project called CowboysBO which I make sure Inherits from my generic BO. Then I call the sub using the following:

Me.CowboysBO1.FillAllData(Me.CowboysBO1)

Is my logic OK or should I be doing something else? I will use the sub to fill several different BO's and that is why I thought I needed the objbo. The above code seems to work but I don't want to get Bitten.
TIA.......


Replies
Terry Bottorff
Terry Bottorff
StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)StrataFrame VIP (1.1K reputation)
Group: Forum Members
Posts: 448, Visits: 12K
OK but I think I am having trouble with it filling the correct BO since I am using the same Sub to fill multiple BO's but I will try again and see what happens. Thanks.
Edhy Rijo
E
StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)StrataFrame VIP (6.4K reputation)
Group: StrataFrame Users
Posts: 2.4K, Visits: 23K
Terry,

Your code is using the objbo.FillDataTable(cmd) instead of Me.FillDataTable(cmd).

Here is how it should be.  If you put a break in Me.FillDataTable(cmd) then see the value of cmd.Commandtext, notice that the correct table for the instance of the BO is used, remember "Generic", each BO is created for a specific table, hence the String.Format() code, so when you drop a BO and run the FillAllData() it will work just fine.  It is a good idea to take a look at the SF source code to learn how they use this generic logic for the FillBy... methods in the BO class.

    Public Overridable Sub FillAllData()
        Using cmd As New SqlCommand()
            cmd.CommandType = CommandType.Text
            cmd.CommandText = String.Format("Select * From {0}"Me.TableNameAndSchema)

            Me.FillDataTable(cmd)
        End Using
    End Sub


Edhy Rijo

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