Ir para conteúdo

POWERED BY:

Arquivado

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

Nádia Adriana Coelho

Erro começou quando inseri um novo select

Recommended Posts

Oi pessoal, beleza...

 

Preciso da ajuda dde vocês neste erro abaixo.

 

Erro de tempo de execução do Microsoft VBScript erro '800a01a8'

 

Objeto necessário: ''

 

/Default.asp, line 104

 

Na linha 104 eu tenho isso:

 

<%

 

While Not objDestColuna.EOF 'APCJJ0001566

 

Dim objColuna

Set objColuna = Banco.Execute("SELECT Titulo FROM Colunas WHERE ID = "& objDestColuna("IDColunas"))

 

Dim i

i = i + 1

 

%>

 

O erro começou depois que eu acrescentei mais este comando pra ler outras notícias:

 

Dim objDestPrincipalTexto

Set objDestPrincipalTexto = Banco.Execute("SELECT TOP 1 ID, Titulo, Breve FROM Noticias WHERE ExibicaoDe <= #"& vData &"# AND ExibicaoAte >= #"& vData &"# AND DestPrincipalTexto = on AND Status = on ORDER BY DataHora DESC")

 

O que pode estar ocorrendo... podem me ajudar aresolver...

 

Vejam código completo da página que ocorre o problema:

 

<!--#Include file="Includes/Config.asp"--><!--#Include file="Includes/Funcoes.asp"--><link href="Includes/Estilos.css" rel="stylesheet" type="text/css"><%Call AbreBancoDim objDestPrincipalTextoSet objDestPrincipalTexto = Banco.Execute("SELECT TOP 1 ID, Titulo, Breve FROM Noticias WHERE ExibicaoDe <= #"& vData &"# AND ExibicaoAte >= #"& vData &"# AND DestPrincipalTexto = on AND Status = on ORDER BY DataHora DESC")Dim objDestPrincipalSet objDestPrincipal = Banco.Execute("SELECT TOP 1 ID, Titulo, Foto1, Breve FROM Noticias WHERE ExibicaoDe <= #"& vData &"# AND ExibicaoAte >= #"& vData &"# AND DestPrincipal = on AND Status = on ORDER BY DataHora DESC")Dim BannerBottomDim BannerBottomDesativarDim BannerBottomValorDim BannerBottomTotalDim sql_contagem_bannerBottomDim contadorBottomSet BannerBottom = Server.CreateObject("ADODB.Recordset") BannerBottom.CursorType = 3 BannerBottom.Open("SELECT Cod, Banner, Link, Extensao, Target FROM Banners WHERE CodLocal=2 and Status=on AND DataDe <= #"& vData &"# AND DataAte >= #"& vData &"#"), Banco  If not BannerBottom.EOF Then   BannerBottomTotal = BannerBottom.RecordCount   Randomize()   BannerBottomValor = Int(Rnd * BannerBottomTotal)   BannerBottom.Move(BannerBottomValor)  Else   BannerBottomDesativar = 1  End If%><table width="778" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="FFFFFF">  <tr>	<td colspan="2"><!--#Include file="Includes/Topo.asp"--></td>  </tr>  <tr>	<td valign="top"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">	  <tr>		<td width="170" height="100%" rowspan="3" valign="top"><!--#Include file="Includes/BarraEsq.asp"--></td>		  <td height="241" valign="top"> 			<table width="100%"  border="0" cellpadding="0" cellspacing="5">			  <%		If Not objDestPrincipalTexto.EOF Then		%>			  <tr> 				<td height="19" valign="top"> <table width="100%" border="0" cellpadding="0" cellspacing="0">					<tr> 					  <td><a href="Noticia.asp?ID=<%=objDestPrincipalTexto("ID")%>" class="lArial17PretoBold"><%=objDestPrincipalTexto("Titulo")%></a></td>					</tr>					<tr> 					  <td><a href="Noticia.asp?ID=<%=objDestPrincipalTexto("ID")%>" class="lVerdana11Preto"><%=objDestPrincipalTexto("Breve")%></a></td>					</tr>	 	 <%		Set objDestPrincipalTexto = Nothing		End If		%>	 				  </table></td>			  </tr>	 	 <%		If Not objDestPrincipal.EOF Then		%>	 			  <tr> 				<td valign="top"> <table width="100%"  border="0" cellspacing="5" cellpadding="0">					<tr> 					  <td width="180" valign="top"><a href="Noticia.asp?ID=<%=objDestPrincipal("ID")%>"><img src="<%=vLocalFotos & objDestPrincipal("Foto1")%>" width="180" border="0"></a></td>					  <td valign="top"><table width="100%"  border="0" cellspacing="0" cellpadding="0">						  <tr> 							<td><a href="Noticia.asp?ID=<%=objDestPrincipal("ID")%>" class="lArial17PretoBold"><%=objDestPrincipal("Titulo")%></a></td>						  </tr>						  <tr> 							<td><a href="Noticia.asp?ID=<%=objDestPrincipal("ID")%>" class="lVerdana11Preto"><%=objDestPrincipal("Breve")%></a></td>						  </tr>						</table></td>					</tr>				  </table></td>			  </tr>			  <%		Set objDestPrincipal = Nothing		End If		%>			</table></td>	  </tr>	  <tr>		<td height="100%" valign="top"><table width="100%"  border="0" cellspacing="10" cellpadding="0">			  <tr> 				<%      While Not objDestColuna.EOF 'APCJJ0001566      Dim objColuna   Set objColuna = Banco.Execute("SELECT Titulo FROM Colunas WHERE ID = "& objDestColuna("IDColunas"))      Dim i   i = i + 1      %>				<td height="100%" valign="top"><table width="145" height="100%"  border="0" cellpadding="0" cellspacing="0">					<tr> 					  <td height="20" background="Imagens/FundoDegrade2.gif"><span class="tTahoma11PretoBold"> <%=UCase(objColuna("Titulo"))%></span></td>					</tr>					<tr> 					  <td valign="top"><table width="100%" height="100%"  border="0" cellpadding="0" cellspacing="0">						  <tr> 							<td valign="top"><table width="100%"  border="0" cellspacing="0" cellpadding="3">								<tr> 								  <td height="18"><a href="Noticia.asp?ID=<%=objDestColuna("ID")%>" class="lTahoma11PretoBold"><%=objDestColuna("Titulo")%></a></td>								</tr>							  </table></td>						  </tr>						  <tr> 							<td valign="top"><table width="100%"  border="0" cellspacing="0" cellpadding="3">								<tr> 								  <td height="10" valign="top"><a href="Noticia.asp?ID=<%=objDestColuna("ID")%>" class="lTahoma11Preto"><%=objDestColuna("Breve")%></a></td>								</tr>							  </table></td>						  </tr>						  <tr> 							<td><div align="right"><a href="Noticia.asp?ID=<%=objDestColuna("ID")%>" class="lTahoma11PretoBold">Veja 								mais</a></div></td>						  </tr>						</table></td>					</tr>				  </table></td>				<%				If i Mod vTotalPrincipalPorLinha = 0 Then				%>			  </tr>			  <tr> 				<td height="1" valign="top"><img src="Imagens/SpaceCinza.gif" width="100%" height="1"></td>			  </tr>			  <tr> 				<td valign="top"> <table cellpadding="5" cellspacing="0" border="0">					<tr> 					  <td> 						<%      Dim objDestTexto   Set objDestTexto = Banco.Execute("SELECT TOP 20 ID, Titulo, ExibicaoDe FROM Noticias WHERE ExibicaoDe <= #"& vData &"# AND ExibicaoAte >= #"& vData &"# AND DestTexto = on AND Status = on ORDER BY ExibicaoDe DESC")      While not objDestTexto.EOF	Response.Write "<a href='Noticia.asp?ID="& objDestTexto("ID") &"' class='lVerdana11Azul'>["& objDestTexto("ExibicaoDe") &"] "& objDestTexto("Titulo") &"</a><br>"   objDestTexto.MoveNext : Wend      Set objDestTexto = Nothing      Dim objDestColuna   Set objDestColuna = Banco.Execute("SELECT TOP 3 ID, Titulo, ExibicaoDe, Breve, IDColunas FROM Noticias WHERE ExibicaoDe <= #"& vData &"# AND ExibicaoAte >= #"& vData &"# AND DestColuna = on AND Status = on ORDER BY ExibicaoDe DESC")      %>					  </td>					</tr>				  </table></td>			  </tr>			  <tr> 				<td> </td>			  </tr>			  <%				End If				objDestColuna.MoveNext : Wend				Set objDestColuna = Nothing				%>			</table></td>	  </tr>	  <% if not BannerBottomDesativar = 1 then %>	  <tr align="center">		 <td valign="middle">   <% if BannerBottom("extensao")="swf" then %>   <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="468" height="60">   <param name="movie" value="<%=BannerBottom("banner")%>">   <param name="quality" value="high">   <embed src="<%=BannerBottom("banner")%>" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="468" height="60"></embed>   </object>   <%   Else	If BannerBottom("Link") = "" or BannerBottom("Link") = "http://" OR IsNull(BannerBottom("Link")) Then   %>	 <img src="<%=BannerBottom("banner")%>" width="468" height="60" border="0">	<% Else %>	 <a href="ContaClick.asp?Banner=<%=BannerBottom("Cod")%>&Link=<%=BannerBottom("Link")%>" target="<%=BannerBottom("target")%>"><img src="<%=BannerBottom("banner")%>" width="468" height="60" border="0"></a>   <% 	End If   end if   sql_contagem_bannerBottom = "UPDATE banners SET pageviews = pageviews + 1 WHERE cod="&BannerBottom("cod")		set contadorBottom = Banco.execute(sql_contagem_bannerBottom)   %>   </td>		  </tr>	<%		End If		%>	</table></td>	<td width="130" height="100%" valign="top" align="right"><!--#Include file="Includes/BarraDir.asp"--></td>  </tr>  <tr>	<td colspan="2"><!--#Include file="Includes/Rodape.asp"--></td>  </tr></table><%Dim AltContadorSet AltContador = Banco.Execute("UPDATE Contador SET Contador = Contador + 1") Call FechaBanco%><!-- APCJJ0001566 -->
Muito obrigada...

 

Nádia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Nadia,Desculpe a ignorancia, mas oque faz o "#" ?Eu faria assim:"SELECT TOP 1 ID, Titulo, Breve FROM Noticias WHERE ExibicaoDe <= '"& vData &"' AND ExibicaoAte >= '"& vData &"' AND DestPrincipalTexto = on AND Status = on ORDER BY DataHora DESC"

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Felipe Bellé disse:

Olá Nadia,Desculpe a ignorancia, mas oque faz o "#" ?Eu faria assim:"SELECT TOP 1 ID, Titulo, Breve FROM Noticias WHERE ExibicaoDe <= '"& vData &"' AND ExibicaoAte >= '"& vData &"' AND DestPrincipalTexto = on AND Status = on ORDER BY DataHora DESC"

O # deve ser usado para informar que os caracteres seguintes referem-se a uma data. Caso contrário o motor do ASP pensaria que fosse divisão entre números, ou seja:Com # --> Data. Exemplo: 10/04/2003Sem # --> Divisão. Exemplo 10 dividido por 04 dividido por 2003

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tambem gostaria que vcs me ajudassem em um erro que setou tendoADODB.Recordset (0x800A0E7D)The connection cannot be used to perform this operation. It is either closed or invalid in this context./admin/consulta.asp, line 12o comando da linha 12 eh o seguinte:strSQL = "SELECT * FROM usuarios order by login"O que estou fazendo de errado? Espero resposta.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Ivan_10 disse:

Tambem gostaria que vcs me ajudassem em um erro que setou tendoADODB.Recordset (0x800A0E7D)The connection cannot be used to perform this operation. It is either closed or invalid in this context./admin/consulta.asp, line 12o comando da linha 12 eh o seguinte:strSQL = "SELECT * FROM usuarios order by login"O que estou fazendo de errado? Espero resposta.

nessa linha nao tem erro, o erro esta quando você executa ele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo código que foi postado não vi onde foi criado o recordset objDestColuna!

 

Esta em algum #include.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o erro é esse mesmo o objeto nao foi criado ainda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Felipe valew pela ajuda, mas não deu certo...

 

fiz como você exemplificou acima...

olha o erro que apareceu agora:

 

Microsoft JET Database Engine erro '80040e07'

 

Tipo de dados imcompatível na expressão de critério.

 

/Default.asp, line 9

 

Linha 9: Set objDestPrincipalTexto = Banco.Execute("SELECT TOP 1 ID, Titulo, Breve FROM Noticias WHERE ExibicaoDe <= #"& vData &"# AND ExibicaoAte >= #"& vData &"# AND DestPrincipalTexto = on AND Status = on ORDER BY DataHora DESC")

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Nádia Adriana Coelho disse:

Oi Felipe valew pela ajuda, mas não deu certo...

 

fiz como você exemplificou acima...

olha o erro que apareceu agora:

 

Microsoft JET Database Engine erro '80040e07'

 

Tipo de dados imcompatível na expressão de critério.

 

/Default.asp, line 9

 

Linha 9: Set objDestPrincipalTexto = Banco.Execute("SELECT TOP 1 ID, Titulo, Breve FROM Noticias WHERE ExibicaoDe <= #"& vData &"# AND ExibicaoAte >= #"& vData &"# AND DestPrincipalTexto = on AND Status = on ORDER BY DataHora DESC")

o pessoal ja disse o erro querida ^^

você nao criou o objeto "objdestcoluna"

Compartilhar este post


Link para o post
Compartilhar em outros sites
  Ivan_10 disse:

Tambem gostaria que vcs me ajudassem em um erro que setou tendoADODB.Recordset (0x800A0E7D)The connection cannot be used to perform this operation. It is either closed or invalid in this context./admin/consulta.asp, line 12o comando da linha 12 eh o seguinte:strSQL = "SELECT * FROM usuarios order by login"O que estou fazendo de errado? Espero resposta.

O campo Login contém números ou palavras? Não se esqueça de colocar ASC ou DESC no final...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, eu não sei oque teria ali...para criar recordsets, eu faço assim normalmentesql = " select dado from tabela "set rs = conexao.execute(sql)mas ali, você cria o objeto, entao fica +- assimSet rs = Server.CreateObject("ADODB.Recordset")sql = " select dado from tabela "rs.open sql, conexaoespero que consiga, e que eu tenha ajudado ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nádia,

 

O que vou postar a seguir valerá tanto para você quanto para as futuras pessoas que visualizarem essa página. Existem pelo menos 3 maneiras em ASP para se estabelecer uma conexão com o Banco de Dados. Dentre elas, a que eu mais gosto e mais acho completa é a seguinte (sem DSN):

 

Observação: Essa forma de conexão pode ser encontrada em vários tutoriais da Internet. Eu a retirei de um livro chamado: Aprenda em 21 dias Active Server Pages.

 

'Cria uma conexão com o Banco de Dados Microsoft AccessDim objConnSet objConn = Server.CreateObject("ADODB.Connection")objConn.ConnectionString = "DRIVER={Microsoft Access Driver (*.mdb)};" & _"DBQ=" & Server.MapPath("db/SeuBanco.mdb")objConn.Open ,"NomeAdministrador","SenhaDoBanco"'Criação da string SQLDim strSQLstrSQL = "SELECT * FROM noticias ORDER BY id DESC"'Criação do RecordSetDim objRSSet objRS = Server.CreateObject("ADODB.Recordset")objRS.Open strSQL, objConn, [CursorType], [LockType]

As explicações sobre [CursorType] e [LockType] devem ser melhor pesquisadas nos tutoriais sobre conexão a Banco de Dados espalhados na Web. Não irei explicá-los aqui senão meu post ficará enorme, hehe!

 

[CursorType] --> deverá ser substituído por um desses números:

0 - (adOpenForwardOnly)

1 - (adOpenKeyset)

2 - (adOpenDynamic)

3 - (adOpenStatic)

 

 

[LockType] --> deverá ser substituído por um desses números:

1 - (adLockReadOnly)

2 - (adLockPessimistic)

3 - (adLockOptimistic)

4 - (adLockBatchOptimistic)

 

 

Qualquer dúvida estamos aí!

Um abraço e boa sorte!

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.