Ir para conteúdo
Fórum Script Brasil
  • 0

Erro 800a0bb9


Nabvchodhonozohr

Pergunta

Olá. Alguém pode me ajudar?

Apareceu esse erro:

ADODB.Recordset error '800a0bb9'

Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

/teste/processa.asp, line 24

O q tem no cód:

 
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
Response.Buffer = true
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
%>
<!--#include file="../connection/db_connection.inc" -->
<%
dim strlogin
dim strsenha
dim strid
strid = request.QueryString("id")

if strid = "user" then 
strlogin   = Replace(Request.Form("login"), "'", "''")
strsenha   = Replace(Request.Form("senha"), "'", "''")

if (len(strlogin) <> 0) or (len(strsenha) <> 0) then

sql = "SELECT * FROM user WHERE login LIKE '%"&cstr(strlogin)&"%' AND senha LIKE '%"&cstr(strsenha)&"%'"

set recset = Server.CreateObject("ADODB.Recordset")
recset.ActiveConnection = db_login 

Eu já tirei o cstr da string sql e não funcionou. O q eu faço?

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Primeiro, lhe aconselho a testar os valores das variaveis que estao sendo usadas no SQL.

Dê um response.write no STRLOGIN e na STRSENHA.

Veja se os valores estao OK.

Depois, dê um response.write no SQL, pra ver como esta ficando, e veja se tem algo de errado.

Link para o comentário
Compartilhar em outros sites

  • 0

Porque você esta utilizando o comando LIKE em um sql que faz LOGIN?

Por motivos de segurança, um login somente deve ser liberado caso o usuario e a senha sejam exatamente iguais àos cadastrados!

Usando LIKE, ele pega tudo que for semelhante à usuario e à senha ..!

Vamos mudar um pouco seu codigo, só pra ver se funciona:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

<%

Response.Buffer = true

Response.CacheControl = "no-cache"

Response.AddHeader "Pragma", "no-cache"

Response.Expires = -1

url_conexao = Server.MapPath("nome_banco.mdb")

set conexao = Server.CreateObject("ADODB.Connection")

conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

dim strlogin

dim strsenha

dim strid

strid = request.QueryString("id")

if strid = "user" then

strlogin  = Replace(Request.Form("login"), "'", "''")

strsenha  = Replace(Request.Form("senha"), "'", "''")

if (len(strlogin) <> 0) or (len(strsenha) <> 0) then

sql = "SELECT * FROM user WHERE login ='"& strlogin &"' AND senha ='"& strsenha &"' "

set recset = conexao.execute(sql)

A única coisa que você precisa colocar é o conteudo em vermelho. Coloque o caminho/nome do banco de dados.

Depois rode este codigo, e veja se funciona

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Pô cara, eu sou iniciante, valeu pelo bizú. Brigadão.

Mas quanto ao erro, eu descobri q usando uma tabela com nome 'user' não funcionava. A única mudança q eu fiz pra resolver foi mudar o nome da tabela de user para users e funcionou.

Mesmo assim valeu pelo bizú de segurança. Eu ainda estou no início da jornada.

Link para o comentário
Compartilhar em outros sites

  • 0

Hehehe

é isso aí

Nem me liguei no lance de nomes de campos/tabelas..

Eu já me deparei com esse erro algumas vezes, mas com nomes de campos.. de tabela nunca, hehe

Bem, sobre segurança, isso que falei é somente uma das coisas que devem ser consideradas.

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,1k
×
×
  • Criar Novo...