2011-03-13 4 views
1

オブジェクトにデータを埋め込み、ラベルにデータを表示することを検討しています。データにオブジェクトを移入するVB.net

私は学生のクラスを作成しました:

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 

私はこれを移入するために使用するデータベースのクラスを持っています。

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

明らかにこれは、単なるステップで最終的に私は、データを移入するためにデータベースを照会することがありますが、私は、私はこれを正しく作成しています知っているので、私はこれが最初の作業を取得したいです。私のメインクラスで

は私が正しく、このついて行く

lblStudentName.Text = ObjStudent.sName 

アムを行うことができるようにしたい私の.aspxのに添付、またはより良い方法はありますか?

答えて

1

あなたは明示的な基本クラスを持っていないため、

MyBase.New() 

を持ってする必要はありません。

Objectの戻りタイプpopulateStudent()はあまり意味がありません。 dbを照会した後に学生のコレクションを返す予定の場合は、Studentのリストである必要があります。このメソッド自体からビューを作成する予定の場合は、Subが返され、何も返されず、Functionでなくてはなりません。

それ以外の場合はすべて大丈夫です。

編集: あなたのような感じですね。

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

+1私はそれに気付かなかった: – David

+0

私はその特定の生徒のデータのためにdbに照会するために使用される関数に生徒番号を渡したいと思う。したがって、その個人のすべてのデータが返されます。これを推測するImは学生のリストでなければなりません。私はこれを行う方法を学ぶために何を探さなければならないのですか?ありがとう –

+0

>は基本クラスがないためです。同意しない!それぞれ&すべて。netクラスは、System.Objectのサブクラスです。 – adatapost

0

閉じる。あなたは以来含むようにあなたの質問を編集した

lblStudentName.Text = ObjStudent.sName 

(...それは多くの場合、SO何かがあれば編集されたことを示していないことを私を悩ます:あなたはLabel制御に.Textプロパティを設定することをお勧めします

"良い方法"としては、何かをする多くの方法があることを覚えておいてください。 「より良い」というのは非常に相対的なことで、これまでのコードにはない他の要因によって決まります。今のところ、オブジェクトのインスタンスを返すメソッド(Factory patternに似ていますが、そのパターンや他のパターンについてさらに調査してください)を使用して、そのオブジェクトのプロパティを使用してUIのデータフィールドに値を設定します。かなり簡単、何も間違っていません。

システムが拡大し、問題ドメインがより複雑になると、「良いデザイン」と「悪いデザイン」の定義が増えます。しかし、ちょうど始めに、これは完全にうまくいきます。

+0

Davidさん、ありがとうございました。私がそれを読んでいたときに気づいた:( –

関連する問題