AJUDA! TELA CADASTRO E LOGIN
Olá gente, eu fiz um formulário de cadastro e login na plataforma VB.NET e assim que o cadastro é concluÃdo abre o formulário de login, mas não consigo logar com o usuário que cadastrei, fica como se não estivesse cadastrado, ou seja, acho que não atualiza os dados pro login, como faço isso??
ME AJUDEEM POR FAVOR ...
ME AJUDEEM POR FAVOR ...
Boa noite,
Primeiramente, vá no banco e veja se o usuário e cadastrado/atualizado, se a rotina de cadastrar/atualizar, estiver ok, poste a rotina de login. Agora se não estiver nem cadastrando e atualizando, poste o código para que possamos analisar.
Primeiramente, vá no banco e veja se o usuário e cadastrado/atualizado, se a rotina de cadastrar/atualizar, estiver ok, poste a rotina de login. Agora se não estiver nem cadastrando e atualizando, poste o código para que possamos analisar.
Acho que é a rotina de atualizar que está incorreta, está cadastrando mas atualizando para o login aparentemente não, já que ele diz que o nome de usuário ou senha está errado, já verifiquei e está gravando e estou digitando corretamente, por isso deve ser erro na atualização, abaixo estão meus comandos do formulário de cadastro ...
A programação da tela de CADASTRO é essa
Private Sub Cadastro_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
da.UpdateCommand = New OleDbCommand([Ô]Update Tb_Usuario SET Nome = @nome, Senha = @senha, Data = @data, Sexo = @sexo, Profissao = @profissao, Endereco = @endereco WHERE Usuario = @usuario[Ô])
da.UpdateCommand.Connection = banco
da.UpdateCommand.Parameters.Add([Ô]@nome[Ô], OleDbType.VarChar, 50, [Ô]Nome[Ô])
da.UpdateCommand.Parameters.Add([Ô]@usuario[Ô], OleDbType.VarChar, 50, [Ô]Usuario[Ô])
da.UpdateCommand.Parameters.Add([Ô]@senha[Ô], OleDbType.VarChar, 50, [Ô]Senha[Ô])
da.UpdateCommand.Parameters.Add([Ô]@data[Ô], OleDbType.VarChar, 50, [Ô]Data[Ô])
da.UpdateCommand.Parameters.Add([Ô]@sexo[Ô], OleDbType.VarChar, 50, [Ô]Sexo[Ô])
da.UpdateCommand.Parameters.Add([Ô]@profissao[Ô], OleDbType.VarChar, 50, [Ô]Profissao[Ô])
da.UpdateCommand.Parameters.Add([Ô]@endereco[Ô], OleDbType.VarChar, 50, [Ô]Endereco[Ô])
End Sub
________________________________________________________________________________________________________________________________________________
Private Sub BtnMarcar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMarcar.Click
Dim queryInsert As String
banco = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\TTI\TTI\TTI.accdb[Ô])
Dim sConnection As String = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\TTI\TTI\TTI.accdb[Ô]
banco.Open()
[ô]efetua a gravação do compromisso
queryInsert = [Ô]INSERT INTO Tb_Usuario([Nome], [Usuario], [Senha], [Data], [Sexo], [Profissao], [Endereco]) values (@Nome, @Usuario, @Senha, @Data, @Sexo, @Profissao, @Endereco)[Ô]
Dim dr As DataRow
Dim sexo As String
Dim commandInsert As New OleDbCommand(queryInsert, banco)
If Not validaCampo() Then
Exit Sub
Else
If RdbFeminino.Checked Then
sexo = [Ô]Feminino[Ô]
Else
sexo = [Ô]Masculino[Ô]
End If
commandInsert.Parameters.Add([Ô]@Nome[Ô], OleDbType.VarChar, 50, [Ô]Nome[Ô]).Value = TxtNome.Text
commandInsert.Parameters.Add([Ô]@Usuario[Ô], OleDbType.VarChar, 50, [Ô]Usuario[Ô]).Value = TxtUsuario.Text
commandInsert.Parameters.Add([Ô]@Senha[Ô], OleDbType.VarChar, 50, [Ô]Senha[Ô]).Value = TxtSenha.Text
commandInsert.Parameters.Add([Ô]@Data[Ô], OleDbType.VarChar, 50, [Ô]Data[Ô]).Value = TxtDataAniver.Text
commandInsert.Parameters.Add([Ô]@Sexo[Ô], OleDbType.VarChar, 50, [Ô]Sexo[Ô]).Value = sexo
commandInsert.Parameters.Add([Ô]@Profissao[Ô], OleDbType.VarChar, 50, [Ô]Profissao[Ô]).Value = TxtProfissao.Text
commandInsert.Parameters.Add([Ô]@Endereco[Ô], OleDbType.VarChar, 50, [Ô]Endereco[Ô]).Value = TxtEndereco.Text
commandInsert.ExecuteNonQuery()
MsgBox([Ô]Cadastro efetuado com sucesso![Ô])
banco.Close()
Login2.Show()
Me.Hide()
End If
End Sub
Agradeço desde já a ajuda.
A programação da tela de CADASTRO é essa
Private Sub Cadastro_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
da.UpdateCommand = New OleDbCommand([Ô]Update Tb_Usuario SET Nome = @nome, Senha = @senha, Data = @data, Sexo = @sexo, Profissao = @profissao, Endereco = @endereco WHERE Usuario = @usuario[Ô])
da.UpdateCommand.Connection = banco
da.UpdateCommand.Parameters.Add([Ô]@nome[Ô], OleDbType.VarChar, 50, [Ô]Nome[Ô])
da.UpdateCommand.Parameters.Add([Ô]@usuario[Ô], OleDbType.VarChar, 50, [Ô]Usuario[Ô])
da.UpdateCommand.Parameters.Add([Ô]@senha[Ô], OleDbType.VarChar, 50, [Ô]Senha[Ô])
da.UpdateCommand.Parameters.Add([Ô]@data[Ô], OleDbType.VarChar, 50, [Ô]Data[Ô])
da.UpdateCommand.Parameters.Add([Ô]@sexo[Ô], OleDbType.VarChar, 50, [Ô]Sexo[Ô])
da.UpdateCommand.Parameters.Add([Ô]@profissao[Ô], OleDbType.VarChar, 50, [Ô]Profissao[Ô])
da.UpdateCommand.Parameters.Add([Ô]@endereco[Ô], OleDbType.VarChar, 50, [Ô]Endereco[Ô])
End Sub
________________________________________________________________________________________________________________________________________________
Private Sub BtnMarcar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnMarcar.Click
Dim queryInsert As String
banco = New OleDbConnection([Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\TTI\TTI\TTI.accdb[Ô])
Dim sConnection As String = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\TTI\TTI\TTI.accdb[Ô]
banco.Open()
[ô]efetua a gravação do compromisso
queryInsert = [Ô]INSERT INTO Tb_Usuario([Nome], [Usuario], [Senha], [Data], [Sexo], [Profissao], [Endereco]) values (@Nome, @Usuario, @Senha, @Data, @Sexo, @Profissao, @Endereco)[Ô]
Dim dr As DataRow
Dim sexo As String
Dim commandInsert As New OleDbCommand(queryInsert, banco)
If Not validaCampo() Then
Exit Sub
Else
If RdbFeminino.Checked Then
sexo = [Ô]Feminino[Ô]
Else
sexo = [Ô]Masculino[Ô]
End If
commandInsert.Parameters.Add([Ô]@Nome[Ô], OleDbType.VarChar, 50, [Ô]Nome[Ô]).Value = TxtNome.Text
commandInsert.Parameters.Add([Ô]@Usuario[Ô], OleDbType.VarChar, 50, [Ô]Usuario[Ô]).Value = TxtUsuario.Text
commandInsert.Parameters.Add([Ô]@Senha[Ô], OleDbType.VarChar, 50, [Ô]Senha[Ô]).Value = TxtSenha.Text
commandInsert.Parameters.Add([Ô]@Data[Ô], OleDbType.VarChar, 50, [Ô]Data[Ô]).Value = TxtDataAniver.Text
commandInsert.Parameters.Add([Ô]@Sexo[Ô], OleDbType.VarChar, 50, [Ô]Sexo[Ô]).Value = sexo
commandInsert.Parameters.Add([Ô]@Profissao[Ô], OleDbType.VarChar, 50, [Ô]Profissao[Ô]).Value = TxtProfissao.Text
commandInsert.Parameters.Add([Ô]@Endereco[Ô], OleDbType.VarChar, 50, [Ô]Endereco[Ô]).Value = TxtEndereco.Text
commandInsert.ExecuteNonQuery()
MsgBox([Ô]Cadastro efetuado com sucesso![Ô])
banco.Close()
Login2.Show()
Me.Hide()
End If
End Sub
Agradeço desde já a ajuda.
Amigo o trecho abaixo é executado no load do form???
Private Sub Cadastro_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
da.UpdateCommand = New OleDbCommand([Ô]Update Tb_Usuario SET Nome = @nome, Senha = @senha, Data = @data, Sexo = @sexo, Profissao = @profissao, Endereco = @endereco WHERE Usuario = @usuario[Ô])
da.UpdateCommand.Connection = banco
da.UpdateCommand.Parameters.Add([Ô]@nome[Ô], OleDbType.VarChar, 50, [Ô]Nome[Ô])
da.UpdateCommand.Parameters.Add([Ô]@usuario[Ô], OleDbType.VarChar, 50, [Ô]Usuario[Ô])
da.UpdateCommand.Parameters.Add([Ô]@senha[Ô], OleDbType.VarChar, 50, [Ô]Senha[Ô])
da.UpdateCommand.Parameters.Add([Ô]@data[Ô], OleDbType.VarChar, 50, [Ô]Data[Ô])
da.UpdateCommand.Parameters.Add([Ô]@sexo[Ô], OleDbType.VarChar, 50, [Ô]Sexo[Ô])
da.UpdateCommand.Parameters.Add([Ô]@profissao[Ô], OleDbType.VarChar, 50, [Ô]Profissao[Ô])
da.UpdateCommand.Parameters.Add([Ô]@endereco[Ô], OleDbType.VarChar, 50, [Ô]Endereco[Ô])
End Sub
Citação::
Amigo o trecho abaixo é executado no load do form???Private Sub Cadastro_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
da.UpdateCommand = New OleDbCommand([Ô]Update Tb_Usuario SET Nome = @nome, Senha = @senha, Data = @data, Sexo = @sexo, Profissao = @profissao, Endereco = @endereco WHERE Usuario = @usuario[Ô])
da.UpdateCommand.Connection = banco
da.UpdateCommand.Parameters.Add([Ô]@nome[Ô], OleDbType.VarChar, 50, [Ô]Nome[Ô])
da.UpdateCommand.Parameters.Add([Ô]@usuario[Ô], OleDbType.VarChar, 50, [Ô]Usuario[Ô])
da.UpdateCommand.Parameters.Add([Ô]@senha[Ô], OleDbType.VarChar, 50, [Ô]Senha[Ô])
da.UpdateCommand.Parameters.Add([Ô]@data[Ô], OleDbType.VarChar, 50, [Ô]Data[Ô])
da.UpdateCommand.Parameters.Add([Ô]@sexo[Ô], OleDbType.VarChar, 50, [Ô]Sexo[Ô])
da.UpdateCommand.Parameters.Add([Ô]@profissao[Ô], OleDbType.VarChar, 50, [Ô]Profissao[Ô])
da.UpdateCommand.Parameters.Add([Ô]@endereco[Ô], OleDbType.VarChar, 50, [Ô]Endereco[Ô])
End Sub
Sim, está no load.
Mas pq? Ao carregar o form vc já executa um update?
Então na verdade eu coloquei pra ver se atualizava os dados e pegava o que eu digitei no formulário de cadastro. Meu projeto funciona assim, o formulário de cadastro abre, o usuario efetua o cadastro e ao clicar em salvar ele aparece a mensagem de que foi salvo com sucesso e abre o formulário de login, quando vou digitar esse usuario que acabou de fazer o cadastro ele não reconhece, por isso coloquei esse update na tentativa de atualizar e pegar esse novo cadastro.
Até mais,
Lucas.
Até mais,
Lucas.
No caso não é bem assim. No load do form acredito que ele é carregado com os campos em branco, ai não vai dar o update mesmo, tente colocar em um botão esse código:
da.UpdateCommand = New OleDbCommand([Ô]Update Tb_Usuario SET Nome = @nome, Senha = @senha, Data = @data, Sexo = @sexo, Profissao = @profissao, Endereco = @endereco WHERE Usuario = @usuario[Ô])
da.UpdateCommand.Connection = banco
da.UpdateCommand.Parameters.Add([Ô]@nome[Ô], OleDbType.VarChar, 50, TxtNome.Text)
da.UpdateCommand.Parameters.Add([Ô]@usuario[Ô], OleDbType.VarChar, 50, txtusuario.text)
da.UpdateCommand.Parameters.Add([Ô]@senha[Ô], OleDbType.VarChar, 50, txtSenha.text)
da.UpdateCommand.Parameters.Add([Ô]@data[Ô], OleDbType.VarChar, 50, [Ô]txtData.text[Ô])
da.UpdateCommand.Parameters.Add([Ô]@sexo[Ô], OleDbType.VarChar, 50, sexo)
da.UpdateCommand.Parameters.Add([Ô]@profissao[Ô], OleDbType.VarChar, 50, txtProfissao.text)
da.UpdateCommand.Parameters.Add([Ô]@endereco[Ô], OleDbType.VarChar, 50, txtEndereco.text)
da.ExecuteNonQuery()
Pode ser no botão entrar?
Amigo... Isso que você quer é atualizar o cadastro do usuário, tipo senha, profissão, certo? Se for [Ô]SIM[Ô] isso tem que ser na tela de cadastro com todos os campos preenchidos ai depois você clica nesse botão que te falei.
Não, não quero atualizar os dados, quero efetuar um NOVO cadastro e entrar com ele, mas ele dá como nome ou senha incorreto, ou seja, não reconhece sendo que está gravado no banco de dados.
Até mais,
Lucas.
Até mais,
Lucas.
Tópico encerrado , respostas não são mais permitidas