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 já fiz a correção...

 

as cidades estão sendo listadas sim, mas agora tenho um novo errado em estado...

 

ADODB.Field erro '80020009'

 

BOF ou EOF são verdadeiros, ou o registro atual foi excluído. A operação solicitada pelo aplicativo requer um registro atual.

 

/cidades/paginacao.asp, line 0

 

Pelo que entendo isso quer dizer que não tem dado correto, mas ele está exibindo as cidades e porque não os estado de cada uma???

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não seria melhor seu código ficar assim?

<%
if not rsDados.eof then
	while not rsDados.eof
%>
	<tr>
		<td>
<%
		response.write "<a href=""exibe.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a><br>"
%>
	</td>
	<td id="Dados">
	  <%=rsDados("estado")%>
	</td>
  </tr>
  <%
	rsDados.MoveNext
	intrec = intrec + 1
	if rsDados.eof then
	   response.write " "
	end if  
	Wend  
end if
rsDados.close
set rsDados = nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon fiz os ajustes analisando o modelo que me passou mas caiu num erro de end esperado na linha 130. Coloquei o end if na linha 130, mas retorna um erro de condição wend.

 

A linha 130 é a penúltima linha, aonde está assim: Set rsDados = Nothing

 

Meu código está assim agora:

 

<%
if not rsDados.eof then
	while not rsDados.eof%>
	<%
	response.write "<a href=""exibe.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a><br>"
	%>
	</td>
	<td id="Dados"> 
	  <%=rsDados("estado")%>
	</td>
  </tr>
  <%
	rsDados.MoveNext
	intrec = intrec + 1
	if rsDados.eof then
	   response.write " "
	end if   
	Wend
	rsDados.close
set rsDados = nothing
  %>
  <tr> 
	<td colspan="2"  id="Dados"> 
	  <%
	'Criamos as Validações para a navegação "Anterior" e "Próximo"  
	if intpagina>1 then
	%>
	  <a href="paginacao.asp?pagina=<%=intpagina-1%>">Anterior</a> 
	  <%
	end if
	if StrComp(intpagina,rsDados.PageCount)<>0 then  
	%>
	  <a href="paginacao.asp?pagina=<%=intpagina + 1%>">Próximo</a> 
	  <%
	end if
	rsDados.close
	Set rsDados = Nothing
	%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você fechou o rsDados duas vezes e colocou um IF a menos.

 

Deixe assim:

<%
if not rsDados.eof then
	while not rsDados.eof%>
	<%
	response.write "<a href=""exibe.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a><br>"
	%>
	</td>
	<td id="Dados">
	  <%=rsDados("estado")%>
	</td>
  </tr>
  <%
	rsDados.MoveNext
	intrec = intrec + 1
	if rsDados.eof then
	   response.write " "
	end if  
	Wend
  %>
  <tr>
	<td colspan="2"  id="Dados">
	  <%
	'Criamos as Validações para a navegação "Anterior" e "Próximo"  
	if intpagina>1 then
	%>
	  <a href="paginacao.asp?pagina=<%=intpagina-1%>">Anterior</a>
	  <%
	end if
	if StrComp(intpagina,rsDados.PageCount)<>0 then  
	%>
	  <a href="paginacao.asp?pagina=<%=intpagina + 1%>">Próximo</a>
	  <%
	end if
	end if
	rsDados.close
	Set rsDados = Nothing
	%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hargon voltou em outro problema...

 

Ele estava pedindo wen nesta linha embaixo (veja últimas linhas do código anterior)

end if
	end if
	rsDados.close
	Set rsDados = Nothing
	Wend
%>

Eu inseri, aí retornou um novo erro pra linha 90, esta linha:

<%
   'Iniciamos o Loop
	rsDados.AbsolutePage = intpagina
	intrec = 0
	While intrec<rsDados.PageSize and not rsDados.eof  
  %>

Veja link: http://www.olimpiadaconsesp.com.br/cidades/paginacao.asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

voce nao fecha este rs em algum momento?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não pode colocar WEND só porque está pedindo e principalmente no local que está pedindo. Muitas vezes é só sugestão do interpretador (mas ele não analisa o código da mesma forma que você).

 

Veja que lá em cima já tem um WEND.

 

Posta o código da forma que está agora.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro atual é este:

 

Erro de compilação do Microsoft VBScript erro '800a03fa'

 

'Wend' esperado

 

/cidades/paginacao.asp, line 129

 

Na linha 129 eu tenho isso:

Set rsDados = Nothing

 

Veja o código completo:

 

hargon o código está assim agora:

 

<%
   'Iniciamos o Loop
	rsDados.AbsolutePage = intpagina
	intrec = 0
	While intrec<rsDados.PageSize and not rsDados.eof  
  %>
  <tr> 
	<td id="Dados"> 
	  <%
if not rsDados.eof then
	while not rsDados.eof%>
	<%
	response.write "<a href=""exibe.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a><br>"
	%>
	</td>
	<td id="Dados">
	  <%=rsDados("estado")%>
	</td>
  </tr>
  <%
	rsDados.MoveNext
	intrec = intrec + 1
	if rsDados.eof then
	   response.write " "
	end if  
	Wend
  %>
  <tr>
	<td colspan="2"  id="Dados">
	  <%
	'Criamos as Validações para a navegação "Anterior" e "Próximo"  
	if intpagina>1 then
	%>
	  <a href="paginacao.asp?pagina=<%=intpagina-1%>">Anterior</a>
	  <%
	end if
	if StrComp(intpagina,rsDados.PageCount)<>0 then  
	%>
	  <a href="paginacao.asp?pagina=<%=intpagina + 1%>">Próximo</a>
	  <%
	end if
	end if
	rsDados.close
	Set rsDados = Nothing
	%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente falta um WEND, e o IF está no lugar errado...

 

Tenta esse código agora.

<%
   'Iniciamos o Loop
if not rsDados.eof then
	rsDados.AbsolutePage = intpagina
	intrec = 0
	While intrec<rsDados.PageSize and not rsDados.eof  
  %>
  <tr>
	<td id="Dados">
	  <%
	'while not rsDados.eof%>
	<%
	response.write "<a href=""exibe.asp?id_cidade="& rsDados("id_cidade") & """>" & rsDados("cidade") & "</a><br>"
	%>
	</td>
	<td id="Dados">
	  <%=rsDados("estado")%>
	</td>
  </tr>
  <%
	rsDados.MoveNext
	intrec = intrec + 1
	if rsDados.eof then
	   response.write " "
	end if  
	'Wend
  %>
  <tr>
	<td colspan="2"  id="Dados">
	  <%
	'Criamos as Validações para a navegação "Anterior" e "Próximo"  
	if intpagina>1 then
	%>
	  <a href="paginacao.asp?pagina=<%=intpagina-1%>">Anterior</a>
	  <%
	end if
	if StrComp(intpagina,rsDados.PageCount)<>0 then  
	%>
	  <a href="paginacao.asp?pagina=<%=intpagina + 1%>">Próximo</a>
	  <%
	end if
wend
	end if
	rsDados.close
	Set rsDados = Nothing
	%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon deu certo... MUITO OBRIGADO :)

 

veja link: http://www.olimpiadaconsesp.com.br/cidades/paginacao.asp

 

Note que na página exibe é listado todas as escolas e não exibida a respectiva escola pra ciade clicada.

 

Como eu faço o select neste caso pra listar as escolas apenas daquela cidade que eu cliquei?

 

Veja como está o meu atual select:

 

<%
'Abrimos a Conexão com o Banco
Dim caminho
Dim conexao
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 ORDER BY id_escola"
		rsDados.open strDados, conexao, 3, 3

'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

Eu não entendi muito bem o que você quer, mas tenta isso:

id_cidade = request.querysting("id_cidade")
if not isnumeric(id_cidade) then
	 id_cidade = 0
end if
strDados = "SELECT * FROM Cadastro_Escolas WHERE id_cidade = " & id_cidade & " ORDER BY id_escola"
Se não for isso, explica de novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon o que eu quero é que quando eu clicar na página anterior em São Paulo, nessa página exibe seja exibido apenas as escolas da cidade de São Paulo.

 

Pelo que entendi o select que você fez ta certo.

 

Porque estou com este erro:

 

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

 

O objeto não dá suporte para a propriedade ou método: 'request.querysting'

 

/cidades/exibe.asp, line 6

 

Minha linha 6 está assim:

id_cidade = request.querysting("id_cidade")

 

Veja parte do código:

<%
'Abrimos a Conexão com o Banco
Dim caminho
Dim conexao
Dim id_cidade
id_cidade = request.querysting("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

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

Muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

id_cidade = request.querystring("id_cidade")

 

Corrige aí... escrevi errado. rs

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon, muito obrigado, agora deu certo... ainda não cadastrei uma escola pra testar certinho, mas aparentemente tá funfando...

 

Muito obrigado.

 

Pra fechar este tópico vai mais uma dúvida.

Nesta página que exibe as escolas de uma determinada cidade, como eu posso inserir na frente de cada escola listada um botão para deletar a escola, excluindo ela do bando de dados.

 

Muito obrigado hargon por tudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta as linhas do WHILE que exibe a escola.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue código. Obrigado.

 

<%
'Abrimos a Conexão com o Banco
Dim caminho
Dim conexao
Dim id_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

'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
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Tutorial de Paginação</title>
<style>
/*
Criei estas CSSs somente para melhorar o
layout da Tabela de Paginação. Vocês podem modificar
ao seus gostos... usem e abusem...:)
*/
.TProdutos{
border: 1px solid #666666;
margin: 2px 0px 2px 0px;
background: #FFFFFF;
border-collapse:collapse;
width: 400px;
}

.TProdutos td {
border: 0px solid #666666;
border-collapse:collapse;
}

.TProdutos td#Titulo {
border: 0px solid #666666;
font: 7pt Verdana, Arial, Helvetica;
height: 17px;
background: #6699FF;
color:#FFFFFF;
}

.TProdutos td#Dados {
border: 1px solid #CCCCCC;
font: 7pt Verdana, Arial, Helvetica;
height: 18px;
background: #EAEFFF;
color: #666666;
}
</style>
</head>
<body>
<table border="0" align="center" class="TProdutos">
  <tr> 
	<td width="90" id="Titulo">Cidade</td>
	<td width="298" id="Titulo">Estado</td>
  </tr>
  <%
   'Iniciamos o Loop
	rsDados.AbsolutePage = intpagina
	intrec = 0
	While intrec<rsDados.PageSize and not rsDados.eof  
  %>
  <tr> 
	<td id="Dados">  </td>
	<td id="Dados">  </td>
  </tr>
  <tr> 
	<td colspan="2" id="Dados"> <p>Escola: 
		<%=rsDados("escola")%>
		<br>
		Endereço: 
		<%=rsDados("endereco")%>
		<br>
		complemento: 
		<%=rsDados("complemento")%>
		<br>
		CEP: 
		<%=rsDados("CEP")%>
		<br>
		Telefone: 
		<%=rsDados("telefone")%>
		<br>
		Fax: 
		<%=rsDados("fax")%>
		<br>
		Site: 
		<%=rsDados("site")%>
		<br>
		E-mail: 
		<%=rsDados("email")%>
	  </p>
	  </td>
  </tr>
  <%
	rsDados.MoveNext
	intrec = intrec + 1
	if rsDados.eof then
	   response.write " "
	end if   
	Wend  
  %>
  <tr> 
	<td colspan="2"  id="Dados"> 
	  <%
	'Criamos as Validações para a navegação "Anterior" e "Próximo"  
	if intpagina>1 then
	%>
	  <a href="paginacao.asp?pagina=<%=intpagina-1%>">Anterior</a> 
	  <%
	end if
	if StrComp(intpagina,rsDados.PageCount)<>0 then  
	%>
	  <a href="paginacao.asp?pagina=<%=intpagina + 1%>">Próximo</a> 
	  <%
	end if
	rsDados.close
	Set rsDados = Nothing
	%>
	</td>
  </tr>
</table>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem várias formas, uma delas é a que fiz abaixo.

 

<tr>
	<td colspan="2" id="Dados"> <p>Escola:
		<%=rsDados("escola")%>
		<br>
		Endereço:
		<%=rsDados("endereco")%>
		<br>
		complemento:
		<%=rsDados("complemento")%>
		<br>
		CEP:
		<%=rsDados("CEP")%>
		<br>
		Telefone:
		<%=rsDados("telefone")%>
		<br>
		Fax:
		<%=rsDados("fax")%>
		<br>
		Site:
		<%=rsDados("site")%>
		<br>
		E-mail:
		<%=rsDados("email")%>
	  </p>
	  </td>
	  
	  <td>
		  <a href="excluir.asp?p=<%=rsDados("id_escola")%>"><img border="0" alt="Excluir" src="botao.gif" /></a>
	  </td>
	  
  </tr>

Veja que acrescentei uma coluna com o botão, e você deve criar a página de exclusão do registro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon ao invés de um botão, como eu posso colocar a imagem excluir que é um xizinho em gif???

 

hargon esquece a minha pergunta... não tinha notado que o botão é imagem... rs...

Compartilhar este post


Link para o post
Compartilhar em outros sites

hargon,

 

criei a página de exclusão, mas estou com algum erro nesta parte do código, pois não está excluindo o registro.

 

Veja parte do código de exclusão:

<%
Option Explicit
Response.Expires = 0
Dim objConn, stringSQL, strConnection, array_id, i, sql_id, id_escola
id_escola = request.querystring("id_escola")
'Caso ocorra algum erro os precessos não são interrompidos 
'e é passado para a próxima linha de comando
'On error Resume Next
' Conectando com o banco de dados contato.mdb
Set objConn =  Server.CreateObject("ADODB.Connection")
objConn.Open "DBQ=c:\web\olimpiadaconsespcombr\database\BD_DADOS.mdb;Driver={Microsoft Access Driver (*.mdb)}"
'Deletando registro da tabela contato onde esta a id
	%>
<html>
<head>
<LINK REL=stylesheet HREF="liks_etc.css" TYPE="text/css">
<title>::Cidades::</title>
</head>
<body bgcolor="#FFFFFF">
	<table width="100%" border="0" cellspacing="0" cellpadding="0">
	  <tr> 
		<td>
<% 
		if err = 0 and id_escola <> "" then
			array_id = split(id_escola,",")
			For i=0 to ubound(array_id)
				sql_id = sql_id & "id_escola.autonum = " & Trim(array_id(i)) & " OR "
														 'campo texto, entao" & Trim(array_id(i)) & " OR "
														 'caso numerico '" & Trim(array_id(i)) & "' OR "
			Next
			sql_id = left(sql_id,(len(sql_id)-4))
			stringSQL = "DELETE * FROM cadastro_escola WHERE "&sql_id&""
			objConn.Execute(stringSQL)
			objConn.close
			Set objConn = Nothing
		  
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não entendi muito bem seu código... mas seguindo meu raciocinio inicial, acho melhor você remover isso:

array_id = split(id_escola,",")
			For i=0 to ubound(array_id)
				sql_id = sql_id & "id_escola.autonum = " & Trim(array_id(i)) & " OR "
														 'campo texto, entao" & Trim(array_id(i)) & " OR "
														 'caso numerico '" & Trim(array_id(i)) & "' OR "
			Next
			sql_id = left(sql_id,(len(sql_id)-4))
			stringSQL = "DELETE * FROM cadastro_escola WHERE "&sql_id&""
			objConn.Execute(stringSQL)
			objConn.close
			Set objConn = Nothing
E colocar isso:

stringSQL = "DELETE * FROM cadastro_escola WHERE id_escola = "&id_escola
			objConn.Execute(stringSQL)
			objConn.close
			Set objConn = Nothing

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.