CODIGO PARA LOGIN VB 2008 EXPRESS EDITION
Não estou conseguindo fazer um código para o meu formulário de login, a um tempo estou tentando até mesmo em outros fóruns mas não obtenho respostas. Segue abaixo o meu código que retirei de uma apostila e não funciona e os erros que estão dando.
Citação:Private Sub btnOkLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOkLogin.Click
Dim vNivel, vSenha, vNome As String
If txtUsuarioLogin.Text = Nothing Then
MsgBox([Ô]Digite o seu Nome de Usuário!![Ô], vbOKOnly + MsgBoxStyle.Information, [Ô]Sistema de Automação Comercial - Aviso[Ô])
txtUsuarioLogin.Focus()
Exit Sub
End If
If txtSenhaLogin.Text = Nothing Then
MsgBox([Ô]Digite a sua Senha!![Ô], vbOKOnly + MsgBoxStyle.Information, [Ô]Sistema de Automação Comercial - Aviso[Ô])
txtSenhaLogin.Focus()
Exit Sub
End If
vNome = Chr(39) & txtUsuarioLogin.Text & Chr(39)
vSenha = Chr(39) & txtSenhaLogin.Text & Chr(39)
conn.Open([Ô]Select * tblusuario where usuario & vNome & And senha = & vSenha[Ô], conn, [txt-color=#e80000]adOpenKeySet, [/txt-color][txt-color=#e80000]adLockOptimistic, adCmdText)[/txt-color]
If[txt-color=#e80000] RecordCount [/txt-color]= 0 Then
MsgBox([Ô]Usuário ou Senha Invalida[Ô], vbOKOnly = MsgBoxStyle.Information, [Ô]Sistema de Automação Comercial - Aviso[Ô])
txtUsuarioLogin.Text = [Ô][Ô]
txtSenhaLogin.Text = [Ô][Ô]
txtUsuarioLogin.Focus()
conn.Close()
Exit Sub
Else
frmPrincipal.Show()
End If
End Sub
End Class
Erro 1 O nome [ô]adOpenKeySet[ô] não está declarado.
Erro 2 O nome [ô]adLockOptimistic[ô] não está declarado.
Erro 3 O nome [ô]adCmdText[ô] não está declarado.
Erro 4 O nome [ô]RecordCount[ô] não está declarado.
Desde já Agradeço.
Bem, este código usa ADO, se você está usando .NET(que é o que me parece), não use ADO, use ADO.NET
E de preferência, antes de querer escrever código, entenda o que é que está fazendo, não saia copiando e colando coisas que vê por aÃ, se você entender bem o que está fazendo, não vai ter esse tipo de problema nunca mais.
Viu o que o Kerplunk postou.
Sabe o que é isto:conn.Open([Ô]Select * tblusuario where usuario & vNome & And senha = & vSenha[Ô], conn, adOpenKeySet, adLockOptimistic, adCmdText)
Leia.
Explicações:
[CursorType]: Opcional. Um valor CursorTypeEnum que determina o tipo de cursor que o provedor deve usar ao abrir o Recordset. Pode ser uma das seguintes constantes:
Constante
Descrição
adOpenForwardOnly
Cursor somente progressivo. Padrão. Idêntico ao cursor estático exceto pelo fato de que é possÃvel somente efetuar rolagem progressiva pelos registros. Isso melhora o desempenho em situações em que é necessária somente uma passagem pelo recordset.
adOpenKeyset
Cursor do conjunto de teclas. Como um cursor dinâmico, exceto pelo fato de que não é possÃvel consultar os registros que outros usuário adicionaram, embora os registros excluÃdos por outros usuários sejam inacessÃveis a partir do recordset. As alterações nos dados feitas por outros usuários permanecem visÃveis.
adOpenDynamic
Cursor dinâmico. Adições, alterações e exclusões feitas por outros usuários são visÃveis e todos os tipos de movimentos pelo recordset são permitidos, exceto indicadores, se o provedor não der suporte a eles.
adOpenStatic
Cursor estático. Uma cópia estática de um recordset que pode ser usada para localizar dados ou gerar relatórios. Adições, alterações ou exclusões feitas por outros usuários não são visÃveis.
[LockType]: Opcional. Um valor LockTypeEnum que determina qual tipo de bloqueio (simultaneidade) o provedor deve usar ao abrir o Recordset. Pode ser uma das seguintes constantes:
Constante
Descrição
adLockReadOnly
Padrão. Somente leitura - não é possÃvel alterar os dados.
adLockPessimistic
Bloqueio pessimista, registro por registro - o provedor faz o que for necessário para garantir o êxito da edição dos registros, em geral, bloqueando-os na fonte de dados imediatamente acima de uma edição.
adLockOptimistic
Bloqueio otimista, registro por registro - o provedor usa o bloqueio otimista, bloqueando os registros somente quando o método Update for chamado.
adLockBatchOptimistic
Atualizações em lotes otimistas - necessárias para o modo de atualização em lotes em oposição ao modo de atualização imediata.
B. Manipulação de Dados
Código de Vb5,Vb6 ou anterior não da certo com códigos de vbnet.
Coloca isto na sua cabeça.
Várias vezes você postou misturando vb6 com vbnet.
Me desculpe pelo transtorno novamente, na internet achamos muito material sobre o vb.net, mas acho que deveriam colocar um material mostrando a diferença entre ambos.
Algum de vocês conhecem algum material que me tire estas duvidas?
Citação::
Bom dia Omar2011 e Kerplunk.
Me desculpe pelo transtorno novamente, na internet achamos muito material sobre o vb.net, mas acho que deveriam colocar um material mostrando a diferença entre ambos.
Algum de vocês conhecem algum material que me tire estas duvidas?
Dificilmente vai achar algo do gênero. São coisas completamente diferentes. Seria o mesmo que comparar uma moto com um navio, são tão diferentes, que nem tem como ter parâmetro de comparação.
Poste sua duvida no forum vb.net