ERRO AO EXECUTAR COMANDO SQL
Boa noite pessoal!! Como tem muito fera aki no VBMania, sei que terá alguém para me ajudar nesse erro. Acredito ser simples, mas de verdade não to conseguindo resolvê-lo. Favor dêem uma olhada no anexo e vejam o que pode estar acontecendo. Meu código é para verificar se o USUARIO digitado coincide com o que está gravado no meu BD, funcionando esse, depois coloco pra verificar a senha junto.
Desde já agradeço.
Abraço, Marcos.
Desde já agradeço.
Abraço, Marcos.
Para verificar apenas o usuario:(Msg - Usuário Inválido)
Para verificar Usuário e senha: (Msg - Usuário ou senha inválido). Esse código só retorna o registro se o usuario estiver cadastrado e se a senha deste usuário for informada corretamente:
OBS: A tabela usuarios deve guardar os dados criptografados, para que o usuário não burle seu login. Lembre-se que senha access são fracas e existem vários programas de quebra de senha access. Click aqui e veja minha senhaCrypto ocx. . Esse componente faz toda validação de senhas, cria usuarios, edita senhas, etc.
CommandText = [Ô]Select Usuario,Senha FROM Usuarios WHERE Usuario=[ô][Ô] & Usuario & [Ô][ô][Ô]
Para verificar Usuário e senha: (Msg - Usuário ou senha inválido). Esse código só retorna o registro se o usuario estiver cadastrado e se a senha deste usuário for informada corretamente:
CommandText = [Ô]Select Usuario,Senha FROM Usuarios WHERE Usuario=[ô][Ô] & Usuario & [Ô][ô] and Senha=[ô][Ô] & Senha & [Ô][ô][Ô]
OBS: A tabela usuarios deve guardar os dados criptografados, para que o usuário não burle seu login. Lembre-se que senha access são fracas e existem vários programas de quebra de senha access. Click aqui e veja minha senhaCrypto ocx. . Esse componente faz toda validação de senhas, cria usuarios, edita senhas, etc.
Ok Robiu, a linha de SQL estava correta. Onde da o erro é no Comando.Execute. Dá o seguinte erro: [ô]-2147217900 (80040e14)[ô] Erro de sintaxe na cláusula FROM. Aproveito também para te dizer que é muito interessante esse componente que tu criou. Epero um dia conseguir chegar nesse nÃvel.
Abraço,
Marcos.
Abraço,
Marcos.
A sua instrução sql tem dois erros:
1 - Depois do Where deve ter um único nome de campo. Ou Usuário ou senha.
2 - O critério é do tipo texto, portando deve está entre aspas simples:
A Select foi montada na linha anterior mas acusa o erro na hora de ser executada. Por isso que da erro na linha do execute.
Você testou os códigos que coloquei acima? Se testou, que erro ocorreu?
Citação:[Ô]Where Usuario,Senha=[Ô]
1 - Depois do Where deve ter um único nome de campo. Ou Usuário ou senha.
2 - O critério é do tipo texto, portando deve está entre aspas simples:
[Ô] WHERE Usuario=[ô][Ô] & Usuario & [Ô][ô][Ô]
A Select foi montada na linha anterior mas acusa o erro na hora de ser executada. Por isso que da erro na linha do execute.
Você testou os códigos que coloquei acima? Se testou, que erro ocorreu?
Boa noite!
Sim Roberto, até copiei e colei seus dois exemplos acima e continua dando o mesmo erro. O que poderia ser isso?
Grato,
Marcos.
Sim Roberto, até copiei e colei seus dois exemplos acima e continua dando o mesmo erro. O que poderia ser isso?
Grato,
Marcos.
Alem da modificação no sql, há outro erro no seu código, nesta linha:
O correto é:
OPICIONAL:
Acredito que o problema já tenha sido resolvido. Porém sugiro não usar o Comand. Teste assim:
Citação:.CommandType=adCmdTable
O correto é:
.CommandType = adCmdText
OPICIONAL:
Acredito que o problema já tenha sido resolvido. Porém sugiro não usar o Comand. Teste assim:
Else [ô] Substitua todo codigo entre o Else e o End If de seu CmdOk_Click por este
Dim TBUsuarios As ADODB.Recordset
Dim Sql As String
Sql = [Ô]Select Usuario,Senha FROM Usuarios WHERE Usuario=[ô][Ô] & Usuario & [Ô][ô][Ô]
Rs.Open Sql, ComunicacaoBD, adOpenKeyset, adLockPessimistic
If Rs.RecordCount > 0 Then
MsgBox [Ô]O usuário [[Ô] & Rs(0) & [Ô]] está Cadastrado[Ô]
Else
MsgBox [Ô]Usuario não encontrado[Ô]
End If
End If
Tópico encerrado , respostas não são mais permitidas