Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

satoshy

[Resolvido] Conexão com banco de dados

Recommended Posts

vou postar novamente (pois é outra pergunta)

 

esse link :

http://p2p.wrox.com/classic-asp-databases/44751-get-error-adodb-recordset-error-800a0e7d.html

 

fala do erro, mas eu não entendi essa parte, e nem sei como fazer

(só fiz até a parte de testar o basico q era o Select * from Tabela1

depois dei um response.write r("Nome")

mas msm assim continua o erro)

 

There are two reasons for this error.

 

1- Sql query contain an invalid database column name.

2- System can not read from connection variable.

 

Do Following:

Check your sql query and if there is a complex query try checking it by temrorary replacing it with a simple one i.e "SELECT * FROM tblRecords"

 

If you still get the same problem then

 

Write following after Function GetRecordset(sRSSource) statement and execute the page again.

response.write(cnn)

response.end

 

If page does not display anything then check you connection variable i.e 'cnn'. You probably need to define 'cnn' variable before database connection string i.e 'dim cnn'

 

 

galera consegui resolver o problema do r.Open "Select * from Tabela1" era só por um ,c depois de tudo XD

r.Open "Select * from Tabela1",c

 

tentei por o código inteiro, mas msm assim não esta funcionando, aparece agora esse erro :

 

Microsoft Office Access Database Engine error '80040e10'

 

No value given for one or more required parameters.

 

/pagina_asp/registros.asp, line 15

 

linha 15 = r.Open "Select * from Tabela1 where Usuario=" & request.form("t1") & "", c

 

esquece... cabei de resolver esse de cima tbm ...

era só botas aspas simples

r.Open "Select * from Tabela1 where Usuario='" & request.form("t1") & "'", c

 

agora estou com problemas em outra parte (n esta dando erro nem nada, é por n estar dando certo oq eu quero...)

 

analisem pra mim essa parte do código :

r.Open "Select * from Tabela1 where Usuario='" & request.form("t1") & "'", c
If r.EOF then
Response.Write "usuario ou senha invalidos"
else
If Request.Form ("p1") = r("Senha") then
Response.Write "Bem - vindo" & " " & r("Nome") & " " & "!"
else
Response.Write "usuario ou senha invalidos"
end if
end if

(sim, seria problema na minha logica, ou nos codigos)

eu queria q acontecesse algo do tipo

 

ele pega os valores da Tabela1

se o t1 for diferente de Usuario então mostra mensagem1

se for igual mostra mensagem2

se o p1 for diferente de Senha então mostra mensagem1

se for igual mostram outra mensagem2

 

tentei de uns jeitos mudando o código acima, mas nos testes, ao digitar apenas o usuario, ele aparece a pagina com a mensagem2...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testa assim:

p1 = Request.Form ("p1")

If not r.EOF then
 If p1 = r("Senha") then
    Response.Write "Bem - vindo" & " " & r("Nome") & " " & "!"
 else
   Response.Write "usuario ou senha invalidos"
 end if
else
  Response.Write "usuario ou senha invalidos"
end if

Compartilhar este post


Link para o post
Compartilhar em outros sites

Testa assim:

p1 = Request.Form ("p1")

If not r.EOF then
 If p1 = r("Senha") then
    Response.Write "Bem - vindo" & " " & r("Nome") & " " & "!"
 else
   Response.Write "usuario ou senha invalidos"
 end if
else
  Response.Write "usuario ou senha invalidos"
end if

 

coloquei essa parte q você postou nessa parte do codigo :

 

If r.EOF then
Response.Write "usuario ou senha invalidos"
else
If request.form("p1") = r("Senha") then
Response.Write "Bem - vindo" & " " & r("Nome") & " " & "!"
else
Response.Write "ainda n"
end if	
end if

 

mas esta mostrando td como "usuario ou senhas invalidos"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia.

 

Vinicius, desculpa a demora para responder ...

 

o codigo ficou desse jeito :

 

<%Dim c,r 
Set c = Server.CreateObject("ADODB.Connection") 
Set r = Server.CreateObject("ADODB.RecordSet") 
c.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="&Server.Mappath("Database1.accdb")&";" 
c.Open  
r.Open "Select * from Tabela1 where Usuario='"&request.form("t1")&"'", c
p1 = Request.Form ("p1") 

If not r.EOF then 
 If p1 = r("Senha") then 
    Response.Write "Bem - vindo" & " " & r("Nome") & " " & "!" 
 else 
   Response.Write "usuario ou senha invalidos" 
 end if 
else 
  Response.Write "usuario ou senha invalidos" 
end if

r.close
c.close
set c = nothing
set r = nothing
%> 

 

tem que declarar o p1 ? set p1 = ... ? (se for pra por algo nos ..., eu não tenho a minima ideia XD)

 

ou colocar dim c,r,p1 ?

 

e no bd tem a parte de :

Código(auto) Nome(texto) Usuario(texto) Senha(numero)

1 Claudia cla 123

2 Teste teste 456

 

n sei se tem algo haver mas, na tabela o numero da Senha tem que ser um numero diferente ?

 

o q esta na tabela é do tipo numerico (geral) ...

 

 

Att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este erro ocorre somente com o Microsoft Access quando um dos nomes de coluna especificados em uma instrução select não existe na tabela que está sendo consultada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

acabei de testar uma coisa e funcionou ...

 

 

coloquei o p1 como text

 

adicionei +1 coluna na tabela (Senha_teste, tipo texto)

 

e funcionou ...

 

se eu coloco p1 como password

 

e deixo r("Senha") não vai '-'

 

abaixo o código teste_registros.html (ainda não fiz a pagina de cadastro)

<body>
<form method = post action = "http://.../pagina_asp/registros.asp">
     <p>Login :        
       <input type = text name = "t1"><br />

       Senha : 
       <input type = password name = "p1">      
       <input type = submit value = OK>

     </p><br />
     Não é cadastrado ? Clique aqui !

</form>
</body>

 

e o codigo do registros.asp

<%Dim c,r
Set c = Server.CreateObject("ADODB.Connection") 
Set r = Server.CreateObject("ADODB.RecordSet") 
c.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="&Server.Mappath("Database1.accdb")&";" 
c.Open  
r.Open "Select * from Tabela1 where Usuario='"&request.form("t1")&"'", c
If r.EOF then
Response.Write "usuario ou senha invalidos"
else
If request.form("p1") = r("Senha") then
Response.Write "Bem - vindo" & " " & r("Nome") & " " & "!"
else
Response.Write "ainda n"
end if	
end if

r.close
c.close
set c = nothing
set r = nothing
%> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu consegui fazer desse jeito...

 

no banco de dados em vez de colocar a Senha como numero, coloquei como Texto

e funcionou normalmente ...

 

não sei se tem outro jeito de fazer por enquanto vou deixar desse jeito

me avisem se tiver outro jeito de fazer

 

provavelmente voltarei com outro topico XD

 

obrigado a todos !

 

uma pergunta ...

 

como eu faço para q só aceite numeros ?

ou não tem como ?

 

por exemplo :

vai ter uma text para telefone, como faço para q essa text aceite só numeros ?

 

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique o tipo de dados , ele precisa ser igual quando passar na sua string SQL

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.