Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, já estou neste código a algumas horas e ainda não consegui depurar...
Tenho o home.asp com um include para acesso ao BD...
Erro:
Objeto necessário: ''
home.asp, line 21
------------------home.asp--------------------------
<!--#include file="conexao.asp"-->
<%
Call AbreConexao
sql = "SELECT TOP 5 * FROM artigos"
sql_noticia= "SELECT * FROM noticias WHERE destaque='true'"
sql_cursos= "SELECT TOP 5 id, titulo, data FROM eventos WHERE tipo='curso' ORDER BY data DESC"
linha 21 Set rsnoticia = conexao.execute (sql_noticia)
Set rscursos = conexao.execute (sql_cursos)
Set rs = conexao.execute (sql)
%>
<link href="style.css" rel="stylesheet" type="text/css">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
------------------home.asp--------------------------
------------------conexao.asp--------------------------
<%
Sub AbreConexao
Dim caminho
caminho="C:\Inetpub\eejhp.mdb"
set conexao=server.createobject("ADODB.Connection")
conexao.open "Provider=Microsoft.Jet.OleDB.4.0;Data Source=" & caminho
End Sub
Sub FechaConexao
conexao.close
set conexao=nothing
End Sub
%>
------------------conexao.asp--------------------------
Então XuU... este campo é de texto...Ele está ok. Valeu!Alguém teria outra sugestão?
pode não ser, mas tenta isso...
sql_noticia= "SELECT * FROM noticias WHERE destaque=-1"
tive problemas com db access uzando valores boolean na tabela, troquei valores por 0 e -1
Se você jogar essa query direto no editor SQL do Access, ela roda?
No editor SQL do Access funcionou normalmente... logo a dica do nosso amigo jonathandj resultou num erro...Muito estranho...Fazendo outros testes verifiquei que:Se eu copiar o script de conexão que está no arquivo conexao.asp...----------------caminho="C:\Inetpub\eejhp.mdb"set conexao=server.createobject("ADODB.Connection")conexao.open "Provider=Microsoft.Jet.OleDB.4.0;Data Source=" & caminho----------------e colar direto, ao invés de fazer o include, funciona!Mas não é erro de link, pois os dois arquivos estão na mesma pasta.Mais uma vez... acho que estou ficando cego. Manja aqueles erros que são óbvios e tontos, mas que você demora horas pra achar...A saga continua...
Ahh... outro detalhe que possa ajudar....Nas outras páginas que eu também uso este include, também aparece o mesmo erro!Erro:Objeto necessário: ''home.asp, line 21ps.: mudando o nome do arquivo e a linha óbviamente... rs.
na página que busca do include a conexão não está sendo fechada? http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif (palpite furado)
sinistra a parada heim hehehe
bom, a essas alturas tudo pode ser, mesmo que a descrição do erro não seja essa, verificou se a página que tem a conexão não modifica o caminho do db...tipo, você pode ter colocado a página dentro de uma pasta ai o caminho muda e a string do caminho tb muda(mais um palpite furado hehehe)
caminho="C:\Inetpub\outrapasta\eejhp.mdb"
se você está cego, acho que eu também, pelos seus códigos parece tudo ok
Vamos lá jonathandj...
A conexão não é fechada pois está numa Sub, e no caso não estou envocando-a (caraca hein!)
O arquivo conexao.asp é que define o caminho do BD.
Após mais teste, tenho mais algumas informações:
Consigo enviar variáveis normalmente através da Sub... no exemplo abaixo a variável é recuperada normalmente:
------------------conexao.asp--------------------------
<%
Sub AbreConexao
Dim caminho
teste="teste"
caminho="C:\Inetpub\eejhp.mdb"
set conexao=server.createobject("ADODB.Connection")
conexao.open "Provider=Microsoft.Jet.OleDB.4.0;Data Source=" & caminho
End Sub
Sub FechaConexao
conexao.close
set conexao=nothing
End Sub
%>
------------------conexao.asp--------------------------
------------------home.asp--------------------------
<!--#include file="conexao.asp"-->
<%
Call AbreConexao
sql = "SELECT TOP 5 * FROM artigos"
sql_noticia= "SELECT * FROM noticias WHERE destaque='true'"
sql_cursos= "SELECT TOP 5 id, titulo, data FROM eventos WHERE tipo='curso' ORDER BY data DESC"
linha 21 Set rsnoticia = conexao.execute (sql_noticia)
Set rscursos = conexao.execute (sql_cursos)
Set rs = conexao.execute (sql)
Response.Write (teste)
%>
<link href="style.css" rel="stylesheet" type="text/css">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
------------------home.asp--------------------------
coloca ai a linha do include to indo pra casa agora...logo mais retorno pra pensarmos juntos ness ai abraço
São as Ciências Exotéricas da Informática... hehehehe
Cheguei em casa e restaurei um arquivo (conexao.asp) antigo.
Funcionou... mas continuo sem saber porque não estava funcionando...
Esteve arquivo antigo tem linhas de código a mais... mas que nada tem a ver (aparentemente) com o código que estou utilizando no arquivo home.asp... tem umas strings de conexão e umas variáveis diferentes que eu nem chego a mencionar no home.asp...
No momento estou na facu... amanhã posto este arquivo pra vocês darem uma olhada.
Muito intrigante http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif
tenta assim:sql_noticia= "SELECT FROM noticias WHERE destaque=true"ousql_noticia= "SELECT FROM noticias WHERE destaque=1"verifique o tipo de dados do campo "destque" do seu BD, pra ver se ele usa 0/1 ou false/true