Как сделать IF ELSE при использовании оператора WITH END WITH? - PullRequest
1 голос
/ 06 февраля 2012

Как вставить здесь выражение If Else, если я хочу отобразить идентификатор студента и логин, если имя / адрес учащегося отсутствуют.

Sub ShowStudentInfo()
    Dim dt As DataTable = GetInfoForStudent("test", frmLogin.txtusername.Text, frmLogin.txtPassword.Text)

    With dt.Rows(0)
        frmLibrary.txtStudentID.Text = .Item("StudentID")
        frmLibrary.txtLoginID.Text = .Item("LoginID")
        frmLibrary.txtStudentName.Text = .Item("Student Name")
        frmLibrary.txtStudentAddress.Text = .Item("Student address")


    End With
End Sub

Ответы [ 2 ]

2 голосов
/ 06 февраля 2012
Sub ShowStudentInfo()
    Dim dt As DataTable = GetInfoForStudent("test", frmLogin.txtusername.Text, frmLogin.txtPassword.Text)

    With dt.Rows(0)
        if .Item("Student Name")="" and .Item("Student address")="" then
            frmLibrary.txtStudentID.Text = .Item("StudentID")
            frmLibrary.txtLoginID.Text = .Item("LoginID")
        else
            frmLibrary.txtStudentName.Text = .Item("Student Name")
            frmLibrary.txtStudentAddress.Text = .Item("Student address")
        end if

    End With
End Sub

Это то, что вы искали?

1 голос
/ 06 февраля 2012

Построение ответа Гейджа. Вы не получаете результатов, потому что ваша функция GetInfoForStudent не возвращает строку. Когда это происходит, в вашем операторе If в строке Row нет условия Else. Поместите некоторый код туда, чтобы добавить строку или что-то еще, и это должно сработать.

Sub ShowStudentInfo()     
    Dim dt As DataTable = GetInfoForStudent("test", frmLogin.txtusername.Text, frmLogin.txtPassword.Text)
    If dt.Rows.Count > 0  then    
        With dt.Rows(0)         
            if String.IsNullOrEmpty(.Item("Student Name")) AndAlso String.IsNullOrEmpty(.Item("Student Name")) then                     
                frmLibrary.txtStudentID.Text = .Item("StudentID")             
                frmLibrary.txtLoginID.Text = .Item("LoginID")         
            else             
                frmLibrary.txtStudentName.Text = .Item("Student Name")                             
                frmLibrary.txtStudentAddress.Text = .Item("Student address")         
            end if      
        End With    
    Else
        'Do something here to add new row, etc.
    End If

End Sub

...