Ir para conteúdo

POWERED BY:

Arquivado

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

marcelonhenhe

Sistema de cadastro para usuarios

Recommended Posts

Tenta assim:

response.writeStrSQL
'Set rs=Conexao.Execute(strSQL) 

 

fala que o objeto nao suporta essas propriedades...

 

Microsoft VBScript runtime error '800a01b6'

 

Object doesn't support this property or method: 'writeStrSQL'

 

/site2/Alterasenha_action_treina.asp, line 77

 

 

e, nao fez diferenca mas, o Set rs=Conexao.Execute(strSQL) aparece só como comentario mesmo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao criar instruções SQL no ASP, você pode encontrar um dos seguintes erros:

 

Este erro é devido a uma das seguintes situações:

 

Um nome de domínio foi digitado incorretamente.

Um ou mais dos valores em branco.

Você tentou inserir o tipo de dados errado (por exemplo, rodeado um valor numérico com aspas, ou esqueceu de colocar aspas em torno de uma string).

 

Para solucionar isso, response.write sua instrução SQL:

 

 

 

<% 
   sql = "EXEC proc_name @param1='foo', ..." 
   ' instead of conn.execute(sql) 
   Response.Write(sql) 
   Response.End 
%>

 

o qual foi citado acima, por outro usuário

 

Verifique se há dados para todos os parâmetros que você está passando, e comparar os nomes das colunas diretamente com aqueles na tabela.

 

Você também pode usar este método response.write para copiar a instrução SQL e executá-lo diretamente no banco de dados, se a mensagem de erro ea instrução response.write ainda não estão dando-lhe informações suficientes.

 

Se os parâmetros para um procedimento armazenado deve ser opcional, então use a seguinte sintaxe:

 

CREATE PROCEDURE dbo.proc_name 
   @param1 INT = NULL 
... 

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique os passos que citei acima, se todos estão corretos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique os passos que citei acima, se todos estão corretos.

 

e onde eu coloco aquele codigo, porque em todos os lugares que tentei colocar deu erro

 

Tenta assim:

response.writeStrSQL
'Set rs=Conexao.Execute(strSQL) 

 

Opsss

Faltou um espaço:

 

response.write StrSQL
'Set rs=Conexao.Execute(strSQL) 

 

Apareceu a mensagem que eu queria que é

 

Senha alterada com

S U C E S S O ! ! ! !

 

 

mas parte do codigo...

 

UPDATE Login SET TXT.Senha = '' UPDATE Login SET TXT.Senha = '' WHERE TXT.Nome = ''

 

apareceu como texo no topo da pag antes da msg

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas parte do codigo...

 

UPDATE Login SET TXT.Senha = '' UPDATE Login SET TXT.Senha = '' WHERE TXT.Nome = ''

 

apareceu como texo no topo da pag antes da msg

 

 

Sim, era para aparecer mesmo, por isso colocar o:

response.writeStrSQL
'Set rs=Conexao.Execute(strSQL) 

 

porque queriamos saber se o sql está recebendo os dados do formulário ou não, e como pode ver, ele está vazio, por isso não está funcionando.

Como a linha do Set rs=con.... está comentada, nenhuma ação no banco de dados será feita, por isso a mensagem de sucesso.

 

Precisará verificar se os campos do formulário tem os mesmo nome que usado para recuperar os valores:

form:

<input type=text..... name="login" .... 

 

pagina asp que recupera os dados do formulário e fará a alteração no banco de dados:

nome=request.form("logn") <== assim não recupera a informação pois esse campo não existe

nome=request.form("login") <== assim já recupera pois o login existe no formulário

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas parte do codigo...

 

UPDATE Login SET TXT.Senha = '' UPDATE Login SET TXT.Senha = '' WHERE TXT.Nome = ''

 

apareceu como texo no topo da pag antes da msg

 

 

Sim, era para aparecer mesmo, por isso colocar o:

response.writeStrSQL
'Set rs=Conexao.Execute(strSQL) 

 

porque queriamos saber se o sql está recebendo os dados do formulário ou não, e como pode ver, ele está vazio, por isso não está funcionando.

Como a linha do Set rs=con.... está comentada, nenhuma ação no banco de dados será feita, por isso a mensagem de sucesso.

 

Precisará verificar se os campos do formulário tem os mesmo nome que usado para recuperar os valores:

form:

<input type=text..... name="login" .... 

 

pagina asp que recupera os dados do formulário e fará a alteração no banco de dados:

nome=request.form("logn") <== assim não recupera a informação pois esse campo não existe

nome=request.form("login") <== assim já recupera pois o login existe no formulário

 

 

eu tenho que procurar a parte do codigo qe apareceu como texto nas pag relacionadas a ele? porque tem 2 pag relacionadas a ele

 

o o formulario para alterar senha

<html>

<head>

<title>Administradores</title>

</head>

<body bgcolor="#9999FF">

<table width="56%" border="1" cellspacing="0" cellpadding="0" align="center">

<tr bgcolor="#FFFFFF">

<td>

<div align="center"><font color="#FF6633" face="Arial, Helvetica, sans-serif"><b>Alteração

de senha do Login: <%=UCase(Session("Login"))%></b></font></div>

</td>

</tr>

<tr bgcolor="#CCCCCC">

<td>

<form method="post" action=" Alterasenha_action_treina.asp">

<table width="85%" border="0" align="center">

<tr>

<td height="20" width="48%"> </td>

<td height="20" width="52%"> </td>

</tr>

<tr>

<td height="39" width="48%">

<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Senha

atual :</font></div>

</td>

<td height="39" width="52%">

<input type="password" name="senhaAtual" maxlength="10" size="10">

</td>

</tr>

<tr>

<td height="39" width="48%">

<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Nova

senha:</font></div>

</td>

<td height="39" width="52%">

<input type="password" name="senhaNova" maxlength="10" size="10">

</td>

</tr>

<tr>

<td height="39" width="48%">

<div align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Confirma

senha:</font></div>

</td>

<td height="39" width="52%">

<input type="password" name="senhaConfirma" maxlength="10" size="10">

</td>

</tr>

<tr>

<td height="39" colspan="2">

<div align="center">

<input type="submit" name="Entrar" value="Alterar">

</div>

</td>

</tr>

</table>

</form>

</td>

</tr>

</table>

</body>

</html>

 

 

e a pag de conexao com o banco

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>
<body>
<% '———————-

' este arq. serve para estabelecer a conexao com o BD em Access

' de nome quaddra.mdb

sub abreconexao

constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("quaddra.mdb")

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

conexao.open constring

end sub

sub fechaconexao

set conexao=nothing

end sub

%>


</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só procura no formulario para alterar a senha, o que faz a conexão nao precisa.

 

 

 

a minha pag altera senha action tem as seguintes variaveis

Dim strSQL, Conexao, rs, varSenha, varSenhaAtual, varSenhaNova, varSenhaConfirma, varLinha

varSenhaAtual = Trim(Request.Form("SenhaAtual"))

varSenhaNova = Trim(Request.Form("SenhaNova"))

varSenhaConfirma = Trim(Request.Form("SenhaConfirma"))

varSenha = Session("Senha")

varSenha = Replace(varSenha, "'", "")

varSenhaNova = Replace(varSenhaNova, "'", "")

varSenhaConfirma = Replace(varSenhaConfirma, "'", "")
%>

<%
IF varSenha = varSenhaAtual AND varSenhaNova = varSenhaConfirma then


strSQL = "UPDATE Login SET TXT_Senha='"&varSenhaNova&"' "

strSQL = strSQL & "WHERE TXT_Login = '" & Session("Login") & "'"

 

 

sendo as duas ultias que estao aparecendo como texto. voce falou pra eu procurar estas variaveis no meu formulario, eu nao achei elas nele, na minha resposta acima(antes desta)eu postei meu codigo do formulario completo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na pagina do formulário vejamos:

<input type="password" name="senhaConfirma" maxlength="10" size="10">

 

Na pagina que fará o update:

varSenhaConfirma = Trim(Request.Form("SenhaConfirma"))

 

O que faz essa linha: cria-se a variavel que irá armazenar o valor vindo do campo do formulário chamado SenhaConfirma e será retidados espaços em branco (Trim)

 

Note que o nome do formulário é senhaConfirma e na pagina que fará o update, é SenhaConfirma, são nomes diferentes pois um está senha e no outro Senha, se o servidor que está abrigando isso faz essa diferenciação, isso pode ser a causa do seu erro.

 

Não estou certo se o asp faz essa diferenciação nativamente, pois sempre uso tudo minusculo então nunca esbarrei nesse problema, mas é uma possibilidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na pagina do formulário vejamos:

<input type="password" name="senhaConfirma" maxlength="10" size="10">

 

Na pagina que fará o update:

varSenhaConfirma = Trim(Request.Form("SenhaConfirma"))

 

O que faz essa linha: cria-se a variavel que irá armazenar o valor vindo do campo do formulário chamado SenhaConfirma e será retidados espaços em branco (Trim)

 

Note que o nome do formulário é senhaConfirma e na pagina que fará o update, é SenhaConfirma, são nomes diferentes pois um está senha e no outro Senha, se o servidor que está abrigando isso faz essa diferenciação, isso pode ser a causa do seu erro.

 

Não estou certo se o asp faz essa diferenciação nativamente, pois sempre uso tudo minusculo então nunca esbarrei nesse problema, mas é uma possibilidade.

 

 

Retirei os trim e coloquei todos escritos iguais(tudo com o S maiusculo), mas não mudou nada, ficou o mesmo erro... no meu formulario nao tem declaradoo seguinte:

 

Dim strSQL, Conexao, rs, varSenha, varSenhaAtual, varSenhaNova, varSenhaConfirma, varLinha

varSenhaAtual = Request.Form("SenhaAtual")

varSenhaNova = Request.Form("SenhaNova")

varSenhaConfirma = Request.Form("SenhaConfirma")

varSenha = Session("Senha")

varSenha = Replace(varSenha, "'", "")

varSenhaNova = Replace(varSenhaNova, "'", "")

varSenhaConfirma = Replace(varSenhaConfirma, "'", "")
%>

 

só no minha pag action, tem que ter nas 2? ou nao é para ter mesmo no form?

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo olha este link, ja tem um code pronto e funcionando

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao criar instruções SQL no ASP, você pode encontrar um dos seguintes erros:

 

Este erro é devido a uma das seguintes situações:

 

Um nome de domínio foi digitado incorretamente.

Um ou mais dos valores em branco.

Você tentou inserir o tipo de dados errado (por exemplo, rodeado um valor numérico com aspas, ou esqueceu de colocar aspas em torno de uma string).

 

Para solucionar isso, response.write sua instrução SQL:

 

 

 

<% 
   sql = "EXEC proc_name @param1='foo', ..." 
   ' instead of conn.execute(sql) 
   Response.Write(sql) 
   Response.End 
%>

 

o qual foi citado acima, por outro usuário

 

Verifique se há dados para todos os parâmetros que você está passando, e comparar os nomes das colunas diretamente com aqueles na tabela.

 

Você também pode usar este método response.write para copiar a instrução SQL e executá-lo diretamente no banco de dados, se a mensagem de erro ea instrução response.write ainda não estão dando-lhe informações suficientes.

 

Se os parâmetros para um procedimento armazenado deve ser opcional, então use a seguinte sintaxe:

 

CREATE PROCEDURE dbo.proc_name 
   @param1 INT = NULL 
... 

 

 

 

coloquei assim:

 

 

Call abreconexao

'executa a instrução SQL'


   sql = "EXEC proc_name @param1='foo', ..." 
   ' instead of conn.execute(sql) 
   Response.Write(sql) 

Set rs=Conexao.Execute(strSQL) 
   Response.End 

 

e apareceu esse erro:

 

EXEC proc_name @param1='foo', ...

 

Microsoft JET Database Engine error '80040e14'

 

Syntax error in string in query expression '' WHERE TXT.Nome = '''.

 

/site2/Alterasenha_action_treina.asp, line 84

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo olha este link, ja tem um code pronto e funcionando

 

    <%

   Option Explicit

   ‘Admin – alteração de senhas

   %>

   <%

   Dim strSQL, Conexao, rs, varSenha, varSenhaAtual, varSenhaNova, varSenhaConfirma, varLinha

   varSenhaAtual = Trim(Request.Form(“SenhaAtual”))

   varSenhaNova = Trim(Request.Form(“SenhaNova”))

   varSenhaConfirma = Trim(Request.Form(“SenhaConfirma”))

   varSenha = Session(“Senha”)

   varSenha = Replace(varSenha, “‘”, “”)

   varSenhaNova = Replace(varSenhaNova, “‘”, “”)

   varSenhaConfirma = Replace(varSenhaConfirma, “‘”, “”)

   IF varSenha = varSenhaAtual AND varSenhaNova = varSenhaConfirma then

   strSQL = “UPDATE Login SET TXT_Senha = ‘” & varSenhaNova & “‘ “

   strSQL = strSQL & “WHERE TXT_Nome = ‘” & Session(“Login”) & “‘”

   ‘abre a conexao

   Call abre_conexao

   ‘executa a instrução SQL

   Set rs = Conexao.Execute(strSQL)

   ‘fecha a conexao

   Call fecha_conexao

   Set rs = Nothing

   varLinha = 1

   Else

   varLinha = 2

   End IF

   %>

   <HTML>

   <BODY bgcolor=”#FFFFFF”>

   <DIV align=”left”>

   <table width=”75%” border=”0″>

   <%

   IF varlinha = 1 then

   %>

   <tr>

   <td>

   <div align=”center”><font color=”#FF6633″ face=”verdana”><b><font color=”#FF6633″ face=”verdana”><b><font color=”#663399″ face=”verdana”><b><font size=”4″>Senha

   alterada com</font></b></font><font size=”4″><br>

   <font color=”#663399″ face=”verdana”><b><font size=”4″><font color=”#818181″ size=”6″>S

   U C E S S O ! ! !</font> </font></b></font><font color=”#FFFFFF” size=”6″>

   !</font></font></b></font></b></font></div>

   </td>

   </tr>

   <%

   Else

   %>

   <tr>

   <td>

   <div align=”center”><font color=”#663399″ face=”verdana” size=”4″><b>Senhas

   nova e confirma estão</b></font><br>

   <font color=”#818181″ face=”verdana” size=”6″><b>I N C O R R E T A S

   ! ! ! </b></font></div>

   </td>

   </tr>

   <%

   End If

   %>

   </table>

   </DIV>

   </BODY>

   </HTML>

 

 

mas foi esse dai mesmo que eu peguei pra começar...

as aspas duplas e simples dele estão erradas(pelomenos o meu servidor nao aceitou)

o abreconexao e o fechaconexao tem que ter esse _(underline) ?

e nao esta faltando um imput antes do abreconexao ali nao? se a resposta é não, como ele vai abrir a conexao com o banco?

 

 

porque deu o seguinte erro?

 

Microsoft VBScript runtime error '800a000d'

 

Type mismatch: 'abre_conexao'

 

/site2/Alterasenha_action_treina.asp, line 35

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa ter o arquivo de include, o qual abre a função abre_conexao, e nele ter a conexao com o path válido e o bd correto

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa ter o arquivo de include, o qual abre a função abre_conexao, e nele ter a conexao com o path válido e o bd correto

 

 

Ficou assim:

 

<%



'Admin – alteração de senhas'


Dim strSQL, Conexao, rs, varSenha, varSenhaAtual, varSenhaNova, varSenhaConfirma, varLinha

varSenhaAtual = Trim(Request.Form("SenhaAtual"))

varSenhaNova = Trim(Request.Form("SenhaNova"))

varSenhaConfirma = Trim(Request.Form("SenhaConfirma"))

varSenha = Session("Senha")

varSenha = Replace(varSenha, "'", "")

varSenhaNova = Replace(varSenhaNova, "'", "")

varSenhaConfirma = Replace(varSenhaConfirma, "'", "")


IF varSenha = varSenhaAtual AND varSenhaNova = varSenhaConfirma then


strSQL = "UPDATE Login SET TXT_Senha='" & varSenhaNova & "' "

strSQL = strSQL & "WHERE TXT_Nome = '" & Session("Login") & "'"


'abre a conexao
<!–#include file="conexao1.asp"–>

Call abre_conexao

'executa a instrução SQL 
Set rs=Conexao.Execute(strSQL) 
'fecha a conexao

Call fecha_conexao

Set rs=Nothing


varLinha = 1

Else
varLinha = 2

End IF
%>

 

 

e ficou dando esse erro:

 

Microsoft VBScript runtime error '800a000d'

 

Type mismatch: 'abre_conexao'

 

/site2/Alterasenha_action_treina.asp, line 36

 

 

por isso eu tinha mudado o codigo

 

PS: o meu banco ta dentro da mesma pasta que minhas paginas

Compartilhar este post


Link para o post
Compartilhar em outros sites

você precisa ter o arquivo de include, o qual abre a função abre_conexao, e nele ter a conexao com o path válido e o bd correto

 

 

Ficou assim:

 

<%



'Admin – alteração de senhas'


Dim strSQL, Conexao, rs, varSenha, varSenhaAtual, varSenhaNova, varSenhaConfirma, varLinha

varSenhaAtual = Trim(Request.Form("SenhaAtual"))

varSenhaNova = Trim(Request.Form("SenhaNova"))

varSenhaConfirma = Trim(Request.Form("SenhaConfirma"))

varSenha = Session("Senha")

varSenha = Replace(varSenha, "'", "")

varSenhaNova = Replace(varSenhaNova, "'", "")

varSenhaConfirma = Replace(varSenhaConfirma, "'", "")


IF varSenha = varSenhaAtual AND varSenhaNova = varSenhaConfirma then


strSQL = "UPDATE Login SET TXT_Senha='" & varSenhaNova & "' "

strSQL = strSQL & "WHERE TXT_Nome = '" & Session("Login") & "'"


'abre a conexao
<!–#include file="conexao1.asp"–>

Call abre_conexao

'executa a instrução SQL 
Set rs=Conexao.Execute(strSQL) 
'fecha a conexao

Call fecha_conexao

Set rs=Nothing


varLinha = 1

Else
varLinha = 2

End IF
%>

 

 

e ficou dando esse erro:

 

Microsoft VBScript runtime error '800a000d'

 

Type mismatch: 'abre_conexao'

 

/site2/Alterasenha_action_treina.asp, line 36

 

 

por isso eu tinha mudado o codigo

 

PS: o meu banco ta dentro da mesma pasta que minhas paginas

Um mero detalhe coleguinha...

 

só inserir uma "-" a mais no include:

 

<!--#include file="conexao1.asp" -->

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um mero detalhe coleguinha...

 

só inserir uma "-" a mais no include:

 

<!--#include file="conexao1.asp" -->

 

 

já tentei só com um, coloquei dois porque em muitos sites na net o código têm dois e pensei que talvez o erro estivesse ali.. Mas de um jeito ou de outro continuou dando o mesmo erro

Compartilhar este post


Link para o post
Compartilhar em outros sites

A função "abre_conexao" foi definido no arquivo "conexao1.asp" ?

 

Mande o código dele para que possamos ver o erro.

 

Abrç

Compartilhar este post


Link para o post
Compartilhar em outros sites

o conteudo do arquivo de conexao precisa ser

 

 <% '----------------------
sub abreconexao
constring="provider=microsoft.JET.OLEDB.4.0;Data Source=" & Server.MapPath("db/quaddra.mdb")
Set conexao=Server.CreateObject("ADODB.Connection")
conexao.open constring
end sub

sub fechaconexao
set conexao=nothing
end sub
%>

 

e na pagina que invoca o include precisa declarar as variaveis que ira usar no include:

 

option explicit
'declaro as var
dim conexao, constring, 
'recupero as var
	'crio a conexao%>
<!--#include file="conn/conexao1.asp"-->
<% 'abro a conexao
call abreconexao

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.