Ir para conteúdo

POWERED BY:

Arquivado

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

lote14

[Resolvido] chamar sub de conexao

Recommended Posts

fala galera mais uma dúvida.

 

é o seguinte, porque não chama? tenho um include " conexao.asp"

 

<%sub abreconexao
'conexão com banco de dados
set Conn = Server.CreateObject("ADODB.Connection")
Conn.CursorLocation = 3 ' é o mesmo que adUseClient
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("bancooooooo.mdb")
Conn.open
end sub


sub fechaconexao
'fecha conexão com banco de dados
conn.close
set conn = nothing
end sub
%>

 

na página default.asp tento chamar

 

<body >
<!--#include file="conexao.asp"-->
<%
call abreconexao
%>
<a title="Home Page" href="default.asp"><div id="logotipo"> </div></a>
<div id="Layer1"><!--#include file="busca.asp"--></div>
<div id="acesso"  ><!--#include file="menu_historico.asp"--></div>
<div id="espaco"></div>
.
.
.

e não chama, se eu trocar a conexão por um response.write, exibe normal mas com esse código de conexão não vai.

 

ai no próximo include "busca.asp" que precisa da conexao da erro.

 

 

valeuuu, fico no aguardo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o caminho do arquivo esta certo ???

 

qual erro ele gera ???'

Compartilhar este post


Link para o post
Compartilhar em outros sites

não entra na sub

 

se eu retirar aquele codigo do banco e colocar response.write para testar exibe legal.

 

eu tinho dois includes abreconexao e fechaconexao

 

e colocava

 

abreconexao - começo da pagina

 

 

fechaconexao - final da pagina

 

 

funcionava legal

 

 

mais ai peguei o codigo dos include e coloquei só em um include: "conexao.asp"

 

 

e criei aquelas 2 rotinas

 

sub abreconexao e sub fechaconexao.

 

 

mais ai a rotina não funciona, não entra na sub.

 

ai o erro que dá é na "busca.asp" que tem uma consulta sql e precisa da conexão.

 

entendeu...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ponha assim

 

Conn.open

 

response.write Conn.state

 

end sub

 

 

 

 

 

.state retorna 1 p/ aberto e 2 p/ fechado

 

diga que retornou

Compartilhar este post


Link para o post
Compartilhar em outros sites

 ponha assim

 

Conn.open

 

response.write Conn.state

 

end sub

 

 

 

 

 

.state retorna 1 p/ aberto e 2 p/ fechado

 

diga que retornou

 

 

passa batido e "bate" em busca.asp pedindo conexão.

 

 

Objeto necessário: ''

/gabarite/busca.asp, line 20

 

pra ficar mais facil de visualizar

 

<%
sub abreconexao

set Conn = Server.CreateObject("ADODB.Connection")
Conn.CursorLocation = 3 ' é o mesmo que adUseClient
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("app_Data/avaliacao.mdb")
Conn.open

response.write Conn.state
end sub


sub fechaconexao
'fecha conexão com banco de dados
conn.close
set conn = nothing
end sub


call abreconexao
%>
<a title="Home Page" href="default.asp"><div id="logotipo"> </div></a>
<div id="Layer1"><!--#include file="busca.asp"--></div>
<div id="acesso"  ><!--#include file="menu_historico.asp"--></div>
<div id="espaco"></div>
<div id="site">

Compartilhar este post


Link para o post
Compartilhar em outros sites

ponha 

 

response.write Conn.state

 

response.end -> aqui vai travar e exibir se a conexao abriu ou nao

 

 

 

 

to saindo agora, mais tarde volto, se nao resolver, deixe o passo a paso do que você fez/alterou pra nao me perder

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

ponha 

 

response.write Conn.state

 

response.end -> aqui vai travar e exibir se a conexao abriu ou nao

 

 

 

 

to saindo agora, mais tarde volto, se nao resolver, deixe o passo a paso do que você fez/alterou pra nao me perder

 

[]s

 

exibiu 1 conexao aberta, beleza , agora coloquei fora da rotina e...

 

<%
sub abreconexao
set Conn = Server.CreateObject("ADODB.Connection")
Conn.CursorLocation = 3 ' é o mesmo que adUseClient
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("app_Data/avaliacao.mdb")
Conn.open

'response.write Conn.state
'response.end
end sub


sub fechaconexao
'fecha conexão com banco de dados
conn.close
set conn = nothing
end sub


call abreconexao


response.write Conn.state
response.end
%>

response.write Conn.state - erro - objeto necessário

 

desisto consegui.

 

olha oque eu estava fazendo

 

sub abreconexao

set Conn = Server.CreateObject("ADODB.Connection")
Conn.CursorLocation = 3 ' é o mesmo que adUseClient
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("app_Data/avaliacao.mdb")
Conn.open

response.write Conn.state
end sub


sub fechaconexao
'fecha conexão com banco de dados
conn.close
set conn = nothing
end sub


criando o objeto dentro da sub sem necessidade

 


set Conn = Server.CreateObject("ADODB.Connection")
Conn.CursorLocation = 3 ' é o mesmo que adUseClient
Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("app_Data/avaliacao.mdb")

sub abreconexao
Conn.open
end sub

criei o objeto fora da rotina e abri dentro.

 

valeuu cara pela boa vontade...

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi... sua sub ficou assim?

 

sub abreconexao

Conn.open

end sub

 

 

o mdb você colocou fora da sub?

 

 

 

tente retornar como estava

 

sub abreconexao

 

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

Conn.CursorLocation = 3 ' é o mesmo que adUseClient

Conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("app_Data/avaliacao.mdb")

Conn.open

 

 

 

 

quando você chamar a sub, você monta o select e apos Conn.open

 

call abreconexao

 

select...

 

Conn.open

 

 

teste assim

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemplo:

 

<% 'declaro as var.
     dim conexao, varmsg, rs, SQL, conDBQ, constring, varmsgeof, varloginsession, data
   
   'recupero as var.
   varmsgeof=request.querystring("msgeof")
   varmsg=request.querystring("msg")
   varloginsession=Session("login")
   %> 
   
   <script LANGUAGE="JavaScript">
function novajan3(){
window.open ("proibidox.asp","Proibido","width=180,height=200,scrollbar=no,status=yes,resize=no")
}
</SCRIPT> <script LANGUAGE="JavaScript">
function novajan2(){
window.open ("proibido.asp","Erro","width=180,height=200,scrollbar=no,status=yes,resize=no")
}
</SCRIPT> <script LANGUAGE="JavaScript">
function novajan(){
window.open ("sucesso_treina.asp","Login","width=180,height=200,scrollbar=no,status=yes,resize=no")
}
</SCRIPT> <% Select case varmsgeof  
      case 11  'sem ser o admin - xanburzum gera o erro
      response.write("<script>novajan2();</script>")
      case 12  ' proibido excluir-me, o admin
           response.write("<script>novajan3();</script>")
   end select

 Select case varmsg
    case 1  'mensagem de sucesso do incluir
    response.write("<script>novajan();</script>")
    case 2  ' mensagem de sucesso do atualizar
    response.write("<script>novajan();</script>")
    case 3  'mensagem de sucesso do excluir
    response.write("<script>novajan();</script>")
  end select
  
  
  'crio a conexao%>
 <!--#include file="conn/conexao1.asp"--> 
<% call abreconexao
            
  'crio o rs
  set rs=Server.CreateObject("ADODB.Recordset")
  'crio o SQL
  SQL="SELECT LAST (login) as log FROM login ORDER BY login"
  rs.open SQL,conexao,1,3
   %>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Apenas declare a variável Conn fora de sua SUB, pode ser no mesmo include dela, mas CONN já deve estar declarada quando for executada a SUB.

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz igual ao pos 12#, nele você tem a declaracao das variaveis, pecisa declarar a variavel da conexao ativa nas páginas onde estão os include

 

depois é só chamar...

 

'crio a conexao%>
 <!--#include file="conn/conexao1.asp"--> 
<% call abreconexao
            
  'crio o rs
  set rs=Server.CreateObject("ADODB.Recordset")
  'crio o SQL
  SQL="SELECT LAST (login) as log FROM login ORDER BY login"
  rs.open SQL,conexao,1,3
   %>

e o arq. de conexao

 

<%

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
%>

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.