Как сделать несколько MySqlDataReader If заявление в VB.net?

Здравствуйте, я хочу сделать, если заявление с несколькими MySQLdatareader. Я не знаю, сработает или нет. Кто-нибудь, помогите мне исправить код, пожалуйста. Это мой пример кода.

  Sub Emailusernameexist()
Dim sCommand1 As MySqlCommand = New MySqlCommand("SELECT * FROM account WHERE Email = '" & TextBox5.Text & "'", conn)
Dim sCommand2 As MySqlCommand = New MySqlCommand("SELECT * FROM account WHERE Username = '" & TextBox4.Text & "'", conn)
RD1 = sCommand1.ExecuteReader
RD2 = sCommand2.ExecuteReader
Try
    If RD1.HasRows Then
        While RD1.Read
            Dim cname As String
            cname = RD1.GetString("Completename")
            MsgBox("Sorry, your email have been registered by " + cname + "? Please login !", vbInformation)
        End While
    ElseIf RD2.HasRows Then
        While RD2.Read
            Dim cname As String
            cname = RD2.GetString("Completename")
            MsgBox("Maaf, username was owned by  " + cname + " !", vbInformation)
        End While
    End If
Catch ex As Exception
End Try
conn.close()
End Sub

1 ответ

Я бы предложил код ниже. Я не пробовал, но это общая идея.

    Sub Emailusernameexist ()
        Dim sCommand As MySqlCommand = New MySqlCommand ("ВЫБЕРИТЕ E-mail, Имя пользователя, Полное имя ИЗ УЧЕТНОЙ ЗАПИСИ, ГДЕ E-mail = '" & TextBox5.Text & "'" ИЛИ Имя пользователя = '" & TextBox4.Text, conn)
        RD = sCommand.ExecuteReader

        Пытаться
            Если RD.HasRows Тогда
                В то время как RD.Read
                    Dim электронной почты как строка
                    Dim userName as String
                    Dim cname As String

                    email = RD.GetString ("электронная почта")
                    userName = RD.GetString("userName")
                    cname = RD.GetString("полное имя")

                    if (not IsNull (email)) Тогда 
                        MsgBox("Извините, ваш адрес электронной почты был зарегистрирован" + cname + "? Пожалуйста, войдите!", VbInformation)
                    elseif (не IsNull(userName)) Тогда 
                        MsgBox("Maaf, имя пользователя принадлежало" + cname + "!", VbInformation)
                    ENDIF
                Конец пока
        Поймать как исключение
        Конец попробовать
        conn.Close ()
    End Sub
Другие вопросы по тегам