Taobitz
Taobitz

Reputation: 556

Populating Object with Data VB.net

I'm looking to populate an object then display the data to labels.

I've created a Student Class:

Public Class student
    Public Dim sNum As Integer
    Public sName As String
   Public Sub New(ByVal sNum As Integer)
        MyBase.New()
        Me.sNum = sNum
    End Sub

I've got a database class that I want to use to populate this.

Public Function populateStudent() As Object
        Dim ObjStudent As New student(1)
        ObjStudent.sName = "Bitz"
        Return ObjStudent
    End Function

Obviously this is just a step, eventually I'll be querying the database to populate the data, but I want to get this working first so I know I'm creating this correctly.

In my main class attached to my .aspx I want to be able to do

lblStudentName.Text = ObjStudent.sName

Am I going about this correctly, or is there a better way?

Upvotes: 1

Views: 1735

Answers (2)

Bala R
Bala R

Reputation: 108957

You need not have

   MyBase.New()

because you don't have a explicit base class.

The return type of populateStudent() of Object does not make much sense; it should be either a list of Student if you are planning to return a collection of student after querying the db. if you are planning on populating the view from this method itself, then it should be a Sub returning nothing and not a Function.

Otherwise everything else looks okay.

EDIT: Sounds like you need something like this.

Public Function populateStudent(Id as String) As student
        Dim ObjStudent As New student(1)
        ObjStudent.sName = "Bitz"
        Return ObjStudent
    End Function

Upvotes: 1

David
David

Reputation: 218827

Close. You'll want to set the .Text property on the Label control:

lblStudentName.Text = ObjStudent.sName

(which you have since edited your question to contain... it often bothers me that SO doesn't show that something was edited if the edit is very soon after the initial post)

As for a "better way" just remember that there are many, many ways to do just about anything. "Better" is very relative and depends on other factors not present in the code you have so far. As of now, you have a method which returns an instance of an object (similar to the Factory pattern, feel free to research more on that and other patterns) and you use properties on that object to populate data fields in the UI. Pretty straightforward, nothing wrong with it.

As the system grows and the problem domain becomes more complex, there will be more definition of "good design" vs. "bad design." But in just getting started, this is perfectly fine.

Upvotes: 0

Related Questions