Ir para o conteúdo
DevilRocks92

Verificar se username ja existe

Mensagens Recomendadas

DevilRocks92    0
DevilRocks92

Boas, estou a fazer um form de registo e verificar se o username ja existe, mas nao estou a conseguir:



Imports MySql.Data.MySqlClient

Public Class Admin_Reg
    Dim server As String = "Server=localhost;Database=escola_musica;Uid=root;Pwd=;"
    Dim con As New MySqlConnection

    Private Sub Admin_Reg_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        con.ConnectionString = server
        Try
            If con.State = ConnectionState.Closed Then
                con.Open()
            Else
                con.Close()
                MsgBox("Ligação falhada!!")
            End If
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub

    Public Sub admin_reg(ByRef sqlstate As String)
        Dim sql_ver As String = "SELECT username FROM admin WHERE username = '" & user_box.Text & "'"
        Dim cmd As New MySqlCommand(sql_ver, con)
        Dim dr As MySqlDataReader

        With cmd
            .CommandText = sqlstate
            .CommandType = CommandType.Text
            .Connection = con
            .ExecuteNonQuery()
        End With

        cmd = New MySqlCommand(sql_ver, con)

        dr = cmd.ExecuteReader

        con.Close()

        Dim rowCount As Integer

        If rowCount <> 0 Then
            MsgBox("Sorry, this user already exists!")
        Else
            MsgBox("This username is not taken!")
        End If

        If pass_box.Text <> cpass_box.Text Then
            MsgBox("Passwords não correspondem.")
        Else
            MsgBox("Adicionado com sucesso!!")
            con.Dispose()
        End If

    End Sub

    Private Sub reg_button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles reg_button.Click
        Dim sql As String = "INSERT INTO admin (username, pass) VALUES('" & user_box.Text & "', '" & pass_box.Text & "')"
        admin_reg(sql)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Login.Show()
        Me.Close()
    End Sub
End Class

Alguem me pode ajudar?

Obrigado,

DevilRocks92

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Andrepereira9    4
Andrepereira9

Boas

Estás a fazer isto

dr = cmd.ExecuteReader 

Mas depois crias uma nova variável e verificas essa variável. Tens que verificar o valor da variável "dr"

Dim rowCount As IntegerIf rowCount <> 0 Then
     MsgBox("Sorry, this user already exists!")Else     MsgBox("This username is not taken!")End If 

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
DevilRocks92    0
DevilRocks92

Ja ta +/- direito, mas adiciono uma vez e ele tudo bem. Se eu adicionar outra vez com o mesmo user ele adiciona e depois diz que ja extiste.

Imports MySql.Data.MySqlClient

Public Class Admin_Reg

    Sub adduser()
        Dim con As New MySqlConnection
        con.ConnectionString = "Server=localhost;Database=escola_musica;Uid=root;Pwd=;"
        Dim sql As String
        sql = "INSERT INTO admin (username, pass) VALUES ('" & user_box.Text & "', '" & pass_box.Text & "')"

        Dim cmd As New MySqlCommand(sql, con)

        con.Open()
        cmd.ExecuteNonQuery()
        con.Close()
        MsgBox("Adicionado com sucesso.")
    End Sub

    Sub checkuser()
        Dim con As New MySqlConnection
        con.ConnectionString = "Server=localhost;Database=escola_musica;Uid=root;Pwd=;"
        Dim sql As String
        sql = "SELECT * From admin"

        Dim cmd As New MySqlCommand(sql, con)
        Dim dr As MySqlDataReader

        con.Open()

        dr = cmd.ExecuteReader

        While dr.Read

            If user_box.Text = dr("username") Then
                MsgBox("User already exists.")
            Else
                If pass_box.Text <> cpass_box.Text Then
                    MsgBox("Passwords nao correspondem.")
                Else
                    adduser()
                End If
            End If

        End While

        con.Close()



    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Login.Show()
        Me.Close()
    End Sub

    Private Sub reg_button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles reg_button.Click
        checkuser()
    End Sub
End Class

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade