-1

こんにちは、複数の MySQLdatareader で if ステートメントを作成したいと思います。うまくいくかどうかはわかりません。誰かが私のコードを修正するのを手伝ってください。これは私のサンプルコードです。

  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
4

1 に答える 1

0

以下のコードをお勧めします。試したことはありませんが、これが一般的な考え方です。

    サブメールusernameexist()
        Dim sCommand As MySqlCommand = New MySqlCommand("SELECT Email, Username, Completename FROM account WHERE Email = '" & TextBox5.Text & "'" OR Username = '" & TextBox4.Text, conn)
        RD = sCommand.ExecuteReader

        試す
            If RD.HasRows Then
                RD.Read中
                    電子メールを文字列として暗くする
                    userName を文字列として暗くする
                    Dim cname As String

                    メール = RD.GetString("メール")
                    ユーザー名 = RD.GetString("ユーザー名")
                    cname = RD.GetString("完全な名前")

                    if (not IsNull(email)) その後
                        MsgBox("申し訳ありませんが、あなたのメールアドレスは " + cname + " によって登録されましたか? ログインしてください !", vbInformation)
                    elseif (IsNull(ユーザー名) ではない) その後
                        MsgBox("Maaf、ユーザー名の所有者は " + cname + " !", vbInformation)
                    終了
                終了
        ex を例外としてキャッチ
        エンドトライ
        conn.close()
    サブ終了
于 2016-05-11T06:56:31.533 に答える