Ir para conteúdo

POWERED BY:

Arquivado

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

Marcelo Pescador

[Resolvido] Código Mysql

Recommended Posts

Boa tarde Galera !

Alguém pode me ajudar ?

Eu tenho um banco de dados e administro pelo Mysql, estava fazendo a conexão da seguinte forma:

 

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("DRIVER={MySQL ODBC 3.51 Driver};SERVER=200.234.214.67;PORT=3306;DATABASE=teste;USER=teste;PASSWORD=teste;OPTION=3;")
response.write "banco conectado"
conn.Close()
Set conn = Nothing
%>

En†ão apareceu a seguinte msg de erro:

 

banco conectado

 

Microsoft VBScript runtime error '800a01a8'

 

Object required

 

/controle_new/login.asp, line 4

essa página de login.asp é a seguinte:

 

<!--#include file="conexao.asp"-->
<%
strsql =  "select * from usuario where login = '" & Request("login") & "' and senha = '" & Request("senha") & "'"
set rs =Conn.execute(strsql)
If Not Rs.EOF Then
	Session("cod_usuario")	= rs("codigo")
	Session("login")		= rs("login")
	Session("senha")		= rs("senha")
	Response.Redirect "orcamentos_novos.asp"
Else
%>

O que preciso mudar nessa linha 4 para funcionar ?

Agradeço antecipadamente a ajuda !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tópico Movido:

Webstandards: CSS / XML / XHTML / HTML http://forum.imasters.com.br/public/style_emoticons/default/seta.gif ASP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tira ela cara.

Pq você ta abrindo e fechando conexao, antes de fazer o Select. Se você quiser fechar. Fecha depois do select fazendo conn.close()

 

bgdo

Compartilhar este post


Link para o post
Compartilhar em outros sites

dá um response.write na sua string SQL para ver o k esta sendo passado

strsql = "select * from usuario where login = '" & Request("login") & "' and senha = '" & Request("senha") & "'"

response.write(strsql)

response.end()

 

e uma dica, para o login...

naun passe na mesma consultra SQL o login e senha, assim você dificulta mais um SQLinject, olha este exemplo

 

<% Option Explicit
'declara as var
dim varsenha, varlogin, conexao ,rs, SQL, conDBQ, constring, rsselect, sqlselect, rsinsert, sqlinsert, rsupdate, sqlupdate,data
'recupera as var
varlogin=Trim(request.form("login"))
varsenha=Trim(request.form("senha"))
varlogin=Replace(varlogin,"'","")
varsenha=Replace(varsenha,"'","")
if varlogin="" then
response.redirect("logincli_form_treina.asp?msgeof=1")
end if
if varsenha="" then
response.redirect("logincli_form_treina.asp?msgeof=2")
end if
if Session("logado")=True then
response.redirect("logincli_form_treina.asp?msgeof=5")
end if 
%>
<!--#include file="conn/conexao1.asp"-->
<%
 call abreconexao
'cria o recordset
Set rs=Server.CreateObject("ADODB.Recordset")
SQL="SELECT * FROM login WHERE login='"&varlogin&"'"
rs.open SQL,conexao,1,3
	if rs.eof then
	   response.redirect("logincli_form_treina.asp?msgeof=3")
	else
		if Lcase (varsenha) <> Lcase(rs("senha")) then
			response.redirect("logincli_form_treina.asp?msgeof=4")
			session("logado")=False
		else
			session("logado")=True
			session("senha")=varsenha
			session("login")=varlogin
			response.Redirect("administracao_treina.asp")
		end if
	end if
set rs=nothing
call fechaconexao%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, coloquei assim e não rolou tb:

 

strsql =  "select * from usuario where login = '" & Request("login") & "' and senha = '" & Request("senha") & "'"
set rs =Conn.execute(strsql)
If Not Rs.EOF Then
	Session("cod_usuario")	= rs("codigo")
	Session("login")		= rs("login")
	Session("senha")		= rs("senha")
	Response.Redirect "orcamentos_novos.asp"
conn.close()
Else

tentei tirar a linha: set rs =Conn.execute(strsql)

 

e tb não rolou !!

tá complicado isso viu !! :(

uma coisa besta de nada e dando trabalho.

 

meu irmão, fiz o que você falou pra ver o que esta se passando e apareceu isso:

 

banco conectadoselect * from usuario where login = 'marcelo' and senha = '310300'

ou seja as informações que tenho no banco de dados !!

 

ele deveria ir para a página: Response.Redirect "orcamentos_novos.asp"

 

mas só apareceu isso !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu ainda insisto que você fechou a conexao no conexao.asp

Depois você ta querendo fazer o select com a conexao fechada. Dae você precisa setar ela de novo como aberta.

 

Ou o Conn.Execute(tal..tal..tal) abre e já executa a instrução ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa um arquivo de unclude para conexao, tipo assim:

conn.asp

<% 

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 depois chama atraves do CALL e tb para fechar conexao CALL fechaconexao

Compartilhar este post


Link para o post
Compartilhar em outros sites

então, desabilitei essa linha como segue abaixo:

 

conexao.asp

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("DRIVER={MySQL ODBC 3.51 Driver};SERVER=200.234.214.67;PORT=3306;DATABASE=teste;USER=teste;PASSWORD=teste;OPTION=3;")
response.write "banco conectado"
'conn.Close()
Set conn = Nothing
%>

e continua a mesma coisa !!

 

não sei se assim vai rolar, eta bem diferente do que eu costumo utilizar.

hj estou começando a utilizar o Mysql, e de cara não estou conseguindo conectar ao banco de dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

usa um arquivo de unclude para conexao, tipo assim:

conn.asp

<% 

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 depois chama atraves do CALL e tb para fechar conexao CALL fechaconexao

 

 

É exatamente isso do que eu estou falando!!!

Ele abriu a conexao e depois fechou e destruiu o objeto aqui Set conn = Nothing. Dae no Select ele tenta fazer o Select o objeto Conn, não acha o objeto. Por isso ele dá o erro Object required.

Com essas Sub's resolve. Ou era só tirar a Linha Conn.Close() e a Set conn = Nothing.

 

http://forum.imasters.com.br/public/style_emoticons/default/seta.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

É exatamente isso do que eu estou falando!!!

faz o k ele ta falando...

Compartilhar este post


Link para o post
Compartilhar em outros sites

deixei tudo desmarcado:

 

conexao.asp

<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("DRIVER={MySQL ODBC 3.51 Driver};SERVER=200.234.214.67;PORT=3306;DATABASE=teste;USER=teste;PASSWORD=teste;OPTION=3;")
response.write "banco conectado"
%>

e login.asp

 

<%
strsql =  "select * from usuario where login = '" & Request("login") & "' and senha = '" & Request("senha") & "'"

response.write(strsql)
response.end()

If Not Rs.EOF Then
	Session("cod_usuario")	        = rs("codigo")
	Session("login")		= rs("login")
	Session("senha")		= rs("senha")
	Response.Redirect "orcamentos_novos.asp"
Else

%>

continua a mesma coisa !!

complicado hein ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

conexao.asp

<% 

sub abreconexao
conn.Open("DRIVER={MySQL ODBC 3.51 Driver};SERVER=200.234.214.67;PORT=3306;DATABASE=teste;USER=teste;PASSWORD=teste;OPTION=3;")
conexao.open constring
end sub

sub fechaconexao
set conexao=nothing
end sub
%>

login.asp

<!--#include file="conexao.asp"-->
<%
strsql =  "select * from usuario where login = '" & Request("login") & "' and senha = '" & Request("senha") & "'"

'response.write(strsql)
'response.end()

set rs =Conn.execute(strsql)
If Not Rs.EOF Then
	Session("cod_usuario")	= rs("codigo")
	Session("login")		= rs("login")
	Session("senha")		= rs("senha")
	Response.Redirect "orcamentos_novos.asp"
Else

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao, você tem que chamar a função nehh

Aqui:

<!--#include file="conexao.asp"-->
<%
call abreconexao() ' você chama a conexao aqui, a sub

strsql = "select * from usuario where login = '" & Request("login") & "' and senha = '" & Request("senha") & "'"

set rs = Conn.execute(strsql)
If Not Rs.EOF Then
Session("cod_usuario") = rs("codigo")
Session("login") = rs("login")
Session("senha") = rs("senha")
Response.Redirect "orcamentos_novos.asp"

%>

E esse Else perdido ae, eh assim mesmo ou você resumiu o codigo pra postar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hua, hua...esta perdido :)

 

coloquei exatamente assim:

<!--#include file="conexao.asp"-->
<%
call abreconexao() ' você chama a conexao aqui, a sub

strsql = "select * from usuario where login = '" & Request("login") & "' and senha = '" & Request("senha") & "'"

set rs = Conn.execute(strsql)
If Not Rs.EOF Then
Session("cod_usuario") = rs("codigo")
Session("login") = rs("login")
Session("senha") = rs("senha")
Response.Redirect "orcamentos_novos.asp"

%>

nada, continua o mesmo !!

Compartilhar este post


Link para o post
Compartilhar em outros sites

precisa chamar a sub antes

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

<%

call abreconexao()

 

e depois para finalizar o

call fechaconexao()

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ke linha está o erro agora ? está dando exatamente o mesmo erro ?

poste o erro por favor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

assim:

<!--#include file="conexao.asp"-->
<%
call abreconexao() ' você chama a conexao aqui, a sub

strsql = "select * from usuario where login = '" & Request("login") & "' and senha = '" & Request("senha") & "'"

set rs = Conn.execute(strsql)
If Not Rs.EOF Then
Session("cod_usuario") = rs("codigo")
Session("login") = rs("login")
Session("senha") = rs("senha")
Response.Redirect "orcamentos_novos.asp"

call fechaconexao() 
%>

apareceu a seguinte msg:

Microsoft VBScript runtime error '800a01a8'

 

Object required: 'conn'

 

/controle_new/conexao.asp, line 4

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.