Jump to content
Sign in to follow this  
W1TCH

Problema ao introduzir dados num BD

Recommended Posts

W1TCH

Eu tenho varias textboxes, ha algumas que eu implementei um verificador dentro delas (caso o texto nao esteja correcto uma picture box ao lado da caixa fica com uma determinada imagem, nomeadamente quando a password so tem uma letra, o email está mal escrito, etc...)

tenho o seguinte codigo:

    Private Sub ContinuarRegisto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ContinuarRegisto.Click
        verificar = 0
        If NomeProprio.Text = "" Or Apelido.Text = "" Or Utilizador.Text = "" Or Password.Text = "" Or RepetirPassword.Text = "" Or EMail.Text = "" Or EmailImg.Image Is My.Resources.Errado Or PasswordImg.Image Is My.Resources.alertavermelho Or PasswordImg.Image Is My.Resources.Errado Then
            MsgBox("Verifique se todos os dados estão preenchidos ou correctos e volte a tentar.", MsgBoxStyle.Critical)
            verificar = 1
        End If

        If verificar = 0 Then
            db.Open()
            Dim varsql As String
            varsql = "Insert into DadosUtilizador(nome,apelido,utilizador,email,password,sexo) values(@nome,@apelido,@utilizador,@email,@password,@sexo);"
            Dim cmd As New SqlCommand(varsql, db)
            cmd.Parameters.Add("@nome", SqlDbType.VarChar).Value = NomeProprio.Text
            cmd.Parameters.Add("@apelido", SqlDbType.VarChar).Value = Apelido.Text
            cmd.Parameters.Add("@utilizador", SqlDbType.VarChar).Value = Utilizador.Text
            cmd.Parameters.Add("@email", SqlDbType.VarChar).Value = EMail.Text
            cmd.Parameters.Add("@password", SqlDbType.VarChar).Value = Password.Text
            cmd.Parameters.Add("@sexo", SqlDbType.VarChar).Value = gender
            cmd.ExecuteScalar()
            db.Close()
            LogIn.Show()
            Me.Close()
        End If
    End Sub

se eu clicar logo no botao sem introduzir dado algum aparece-me a msgbox de erro, mas se escrever em todos os campos a letra 'a' ele introduz-me logo na BD, independentemente da imagem de erro que esteja ao lado da caixa de texto.

se tirar o codigo de verificação das caixas de texto e deixar apenas o codigo de introdução na BD ele introduz sem qualquer erro.

Alguma ajuda?

Obrigado

Share this post


Link to post
Share on other sites
bioshock

A velha história de comparação de imagens, não deves proceder assim.

Antes de vires ao fórum questionar fazes uma simples regra de verificação para ver se está a funcionar como queres as tuas comparações:

If EmailImg.Image Is My.Resources.Errado Then MsgBox("Está a funcionar")

Se não te devolver nenhuma mensagem é porque certamente não está a funcionar como querias.

Nestes casos, as Pictureboxs, possuem uma propriedade denominada Tag onde deves introduzir um valor na mesma (sempre que alterada) para depois fazeres as comparações que bem entenderes:

If EmailImg.Tag = 0 Then
   ' Errado
   Else ' 1
   ' Certo
End If

Podes introduzir qualquer tipo de valor na propriedade Tag.

E dá também uma olhadela neste artigo e compara o teu método de inserção com o que lá está e vê se não tem nada de errado. ;)

Share this post


Link to post
Share on other sites
W1TCH

Muito obrigado! já consegui fazer ;)

peço imensa desculpa por ter questionado algo que é tão facil, mas ainda sou novo nisto e estou a aprender ;)

mais uma vez, muito obrigado!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.