Ir para conteúdo

Arquivado

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

criacaoi7

Criar página para exibir dados.

Recommended Posts

hargon eu terei que fazer deste jeito, incluindo isto no código acima que já exibe os dados da escola...

 

<%
rsDados = "SELECT * FROM Cidades where id_cidade"
connstring = "Microsoft.Jet.OLEDB.4.0;Data Source=c:\web\olimpiadaconsespcombr\database\BD_DADOS.mdb" 
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open connstring, "","" 
Set rsDados = Conexao.Execute (q) 

While not tabela.EOF
response.write tabela("cidade").value
tabela.movenext 
wend 
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi.

 

Obs. Você mandou executar Q e a consulta está em rsDados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A sim, agora entendi.

 

Você não precisa fazer dessa forma. Dentro do while de escola você poderia ser algo assim:

 

while not escolas.eof
   set cidades = Conexao.Execute ("SELECT * FROM cidades where id_cidade=" & escolas("id_cidade"))
   if not cidades.eof then
		 response.write cidades("nomeDaCidade")
   end if
   cidades.close
   set cidades = nothing
   escolas.movenext
wend

Obs. Isso foi só um exemplo. Altere o nome das variáveis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi hargon,

 

porque deu este erro?

 

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

 

Objeto necessário: 'escolas'

 

/cidades/exibe_escolas2.asp, line 20

 

Minha linha 20 ficou assim (Código parcial)

 

while not escolas.eof

<%
'Abrimos a Conexão com o Banco
Dim caminho
Dim conexao
Dim id_cidade
Dim cidades
id_cidade = request.querystring("id_cidade")
if not isnumeric(id_cidade) then
	 id_cidade = 0
end if
Set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source=c:\web\olimpiadaconsespcombr\database\BD_DADOS.mdb"
conexao.open

		'Selecionamos todos os Produtos da Tabela
Set rsDados = Server.CreateObject("ADODB.Recordset")
strDados = "SELECT * FROM Cadastro_Escolas WHERE id_cidade = " & id_cidade & " ORDER BY id_escola"
		rsDados.open strDados, conexao, 3, 3
		
while not escolas.eof
   set cidades = Conexao.Execute ("SELECT * FROM cidades where id_cidade=" & escolas("id_cidade"))
   if not cidades.eof then
		 response.write cidades("cidade")
   end if
   cidades.close
   set cidades = nothing
   escolas.movenext
wend

'Definimos o Numero de Paginas com a propriedade "PageSize" do objeto Recordset
rsDados.PageSize = 10

'Criamos as Validações
if rsDados.eof then
   Mensagem = "Nenhum Registro Encontrado"
   Response.End
else
   'Definimos em qual pagina o visitante está
   if Request.QueryString("pagina")="" then
	  intpagina = 1
   else
	  if cint(Request.QueryString("pagina"))<1 then
intpagina = 1
	  else
if cint(Request.QueryString("pagina"))>rsDados.PageCount then  
	intpagina = rsDados.PageCount
		 else
	intpagina = Request.QueryString("pagina")
end if
	  end if   
   end if   
		end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obs. Isso foi só um exemplo. Altere o nome das variáveis.

Como eu deixei em observação... foi só um exemplo.

 

Você não tem a variável escolas... você usa rsDados...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi hargon, entendi. Bem vou tentar montar.

 

Fiz umas modificações e cai neste erro:

 

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

Tipos incompatíveis

/cidades/exibe_escolas2.asp, line 22

 

Na linha 22 começa o select da cidade,

 

set rsDados = Conexao.Execute ("SELECT * FROM cidades where id_cidade=" & id_cidade("id_cidade"))

if not rsDados.eof then

response.write cidade("cidade")

end if

rsDados.close

set rsDados = nothing

rsDados.movenext

wend

Compartilhar este post


Link para o post
Compartilhar em outros sites

Veja o que está em negrito:

set rsDados = Conexao.Execute ("SELECT * FROM cidades where id_cidade=" & id_cidade("id_cidade"))

 

Não seria?

cidade("cidade")

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon, retorna:

 

Microsoft JET Database Engine erro '80040e14'

 

Erro de sintaxe (operador faltando) na expressão de consulta 'id_cidade ='.

 

/cidades/exibe_escolas2.asp, line 19

 

Meu select está assim:

 

'Selecionamos todos os Produtos da Tabela
Set rsDados = Server.CreateObject("ADODB.Recordset")
strDados = "SELECT * FROM Cadastro_Escolas WHERE id_cidade = " & id_cidade & " ORDER BY id_escola"
		rsDados.open strDados, conexao, 3, 3
		
while not rsDados.eof
   set rsDados = Conexao.Execute ("SELECT * FROM cidades where id_cidade=" & cidade("cidade"))
   if not rsDados.eof then
		 response.write cidade("cidade")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pela mensagem de erro, id_cidade está vazio. Talvez a variável não esteja recebendo nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

De onde recupera id_cidade?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz umas alterações e olha o erro agora,

 

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

 

Tipos incompatíveis

 

/cidades/exibe_escolas2.asp, line 22

 

Linha 22>>

 

set rsDados = Conexao.Execute ("SELECT * FROM cidades where id_cidade=" & cidade("cidade"))

Mário na página anterior a esta eu clico no nome da cidade, aonde envia a ID, veja:

 

<%
	response.write "<a href=""exibe_escolas2.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a><br>"
	%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso

 

cidade("cidade"))

vem de onde?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas o valor esta vindo de outro formulario? pelo que parece esta errado isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mário é para funcionar assim...

 

A página anterior ela envia a id da cidade que eu cliquei... então nesta página em que ocorre o erro, ele exibe os dados para aquela cidade, no caso, lista as escolas da cidade que eu cliquei...

 

veja como está o select:

 

<%
'Abrimos a Conexão com o Banco
Dim caminho
Dim conexao
Dim id_cidade
Dim escolas
Dim cidade
id_cidade = request.querystring("id_cidade")
if not isnumeric(id_cidade) then
	 id_cidade = 0
end if
Set conexao = Server.CreateObject("ADODB.Connection")
conexao.provider= "Microsoft.Jet.OLEDB.4.0;Data Source=c:\web\olimpiadaconsespcombr\database\BD_DADOS.mdb"
conexao.open

		'Selecionamos todos os Produtos da Tabela
Set rsDados = Server.CreateObject("ADODB.Recordset")
strDados = "SELECT * FROM Cadastro_Escolas WHERE id_cidade = " & id_cidade & " ORDER BY id_escola"
		rsDados.open strDados, conexao, 3, 3
		
while not rsDados.eof
   set rsDados = Conexao.Execute ("SELECT * FROM cidades where id_cidade=" & cidade("cidade"))
   if not rsDados.eof then
		 response.write cidade("cidade")
   end if
   rsDados.close
   set rsDados = nothing
   rsDados.movenext
wend

'Definimos o Numero de Paginas com a propriedade "PageSize" do objeto Recordset
rsDados.PageSize = 10

'Criamos as Validações
if rsDados.eof then
   Mensagem = "Nenhum Registro Encontrado"
   Response.End
else
   'Definimos em qual pagina o visitante está
   if Request.QueryString("pagina")="" then
	  intpagina = 1
   else
	  if cint(Request.QueryString("pagina"))<1 then
intpagina = 1
	  else
if cint(Request.QueryString("pagina"))>rsDados.PageCount then  
	intpagina = rsDados.PageCount
		 else
	intpagina = Request.QueryString("pagina")
end if
	  end if   
   end if   
		end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce recupera assim

id_cidade = request.querystring("id_cidade")

Deveria usar

 

set rsDados = Conexao.Execute ("SELECT * FROM cidades where id_cidade=" & id_cidade)

E nao

 

set rsDados = Conexao.Execute ("SELECT * FROM cidades where id_cidade=" & cidade("cidade"))

Outro erro é que esta criando outro RS com o mesmo nome dentro do loop do rsDados , tem qeu pelo menos mudar o nome

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Mário, bom dia.

 

Fiz a correção e estou com um errono response, linha 24:

response.write cidade("cidade")

 

Meu select:

 

while not rsDados.eof
   set rsCidade = Conexao.Execute ("SELECT * FROM cidades where id_cidade=" & id_cidade)
   if not rsCidade.eof then
		 response.write cidade("cidade")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Troca cidade("cidade") por rsCidade("cidade").

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o que o hargon disse pois voce nao tem um RS de nome cidade

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.