Ir para conteúdo

POWERED BY:

Arquivado

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

rluiz1708

[Resolvido] Listar numa Combobox com ASP

Recommended Posts

Pessoal,

 

To fazendo parte de alteração de subcategorias, sendo que uma subcategoria pertence a uma categoria.

E na hora da alteração, é mostrada as categorias (já cadastradas) numa combobox.

 

Eu sei que seria só fazer um select no SQL e escrever lá o option... até aí tudo bem (só apareceria o 1° valor na tabela). Aí fiz um while pra poder listar todos... só que a seguinte mensagem de erro aparece:

ADODB.Field (0x80020009)

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

/pizzariaverdun/admin/altera_subcategoria.asp

O engraçado é que o código está igual ao de cadastro de sub categoria (que aparece as categorias cadastradas). Mas na parte de alteração não funciona. Acredito eu que seja alguma coisa muito boba que eu não estou conseguindo perceber.

 

Segue o código de toda a página:

<!-- #include file = "funcoes.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Alterar Sub Categoria</title>
<link href="css/padrao_admin_secoes_produtos.css" rel="stylesheet" type="text/css"/>
<script src="../SpryAssets/SpryValidationTextarea.js" type="text/javascript"></script>
<link href="../SpryAssets/SpryValidationTextarea.css" rel="stylesheet" type="text/css" />
</head>

<body>

<% 

dim rs, conexao, SQLlistaCategorias

'Chama a conexão com o banco de dados
call abre_conexao

'Executa comando SQL 
set rs= conexao.Execute("select SUBCATEGORIAS.IdSubCategoria, CATEGORIAS.TituloCategoria, CATEGORIAS.IdCategoria, SUBCATEGORIAS.TituloSubCategoria, SUBCATEGORIAS.Descricao from SUBCATEGORIAS INNER JOIN CATEGORIAS ON CATEGORIAS.IdCategoria = SUBCATEGORIAS.IdCategoria where IdSubCategoria = '"&request("codigo")& "'")



SQLlistaCategorias = "select * from CATEGORIAS"

%>

<form name="formaltera" action="altera_subcategoria_ok.asp" method="post">
	


	<table id="subcategoria_tabela_altera">
		<tr><th>Código</th>	 
		<th>Título</th>
		<th>Categoria</th>
		<th>Descrição</th>
		</tr>
		
		<tr>
		<td> <input type="text" name="txtcodigo" readonly="readonly" value="<%=rs("IdSubCategoria")%>"/> </td>
	   
		<td> <input type="text" name="txttitulo" value="<%=rs("TituloSubCategoria")%>"/> </td>
		
		<td> <select name="cmbcategoria" id="cmbcategoria" >
		  <%
		  'Exibe (selecionada) a categoria cadastrada para a sub categoria
		 	response.write("<option selected value='")
			response.write UCase(rs("IdCategoria"))
			response.write "'>"
			response.write UCase(rs("TituloCategoria"))
			response.write ("</option>")
		
		  %>
		  
		  <%
		  set rs= conexao.Execute(SQLlistaCategorias) 'Seleciona todas as categorias cadastradas da tabela CATEGORIAS
		 while not rs.eof 'Enquanto não for o fim da tabela no banco de dados
			  response.write("<option value='")
			response.write UCase(rs("IdCategoria"))
			response.write "'>"
			response.write UCase(rs("TituloCategoria"))
			response.write ("</option>")
			
			rs.movenext
		  wend
		  %>
		  
		  
		</select> </td>
		
	
		<td> <span id="sprytextarea1">
		  <textarea name="txtdescricao" id="txtdescricao" cols="35" rows="5"><%=rs("Descricao")%></textarea>
		  <span id="countsprytextarea1"> </span><span class="textareaMaxCharsMsg">Limite de 255 caracteres excedido.</span></span></td>
	 
		
				
		
		
</tr>
		
		<tr> 
		<td colspan="4">
			<br/>
		
			<button value="Alterar" type="submit" name="alterar" alt="Alterar"> 
		   	<img src="images/icone_alterar.png" style="vertical-align: middle;" width="16px" height="16px" />
			Alterar
		   </button>
		   
		   <span>     </span>
		   
		  <button value="Excluir" type="button" name="excluir" alt="Excluir" onclick="window.location='exclui_subcategoria_ok.asp?codigo='+txtcodigo.value;"> 
		   	<img src="images/icone_excluir.png" style="vertical-align: middle;" width="16px" height="16px" />
			Excluir
		   </button>
		   
		   
		   
		   <span>     </span>
		   
		   
		   <button value="Voltar" type="button" name="voltar" alt="Voltar" onclick="java script:history.go(-1);">
		   	<img src="images/icone_voltar.png" style="vertical-align: middle;" width="16px" height="16px" /> 
			  Voltar 
		   </button> <BR/>
		   
		</td>
		</tr>

		
	 </form>
	</table> 


<% 
  set rs = nothing 'Destrói o Objeto

%>
<script type="text/javascript">
<!--
var sprytextarea1 = new Spry.Widget.ValidationTextarea("sprytextarea1", {validateOn:["blur", "change"], minChars:0, isRequired:false, maxChars:255, counterId:"countsprytextarea1", counterType:"chars_remaining"});
//-->
</script>
</body>
</html>

Quem puder ajudar (de novo) agradeço muito! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Fiqueia madrugada toda programando e voltei a programas hoje as 8:00h e até agora não parei. :blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

A operação pedida requer um registro atual. Na maioria das vezes isso acontece quando se tenta procurar um valor em um campo da Base de Dados e a variável que é utilizada para realizar a pesquisa não contem nenhum valor.

existem exemplos no laboratorio de script tb,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pensei um pouco no que você falou e consegui "resolver" com uma gambiarra.

Criei outro recordset só pra listar as categorias. Claro que assim haveria valores duplicados (pq exibiria o que é o valor cadastrado e todos os outros), mas eu tô com pressa e vai ter que ser assim mesmo. http://forum.imasters.com.br/public/style_emoticons/default/assobiando.gif

 

Obrigado! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Segue o código da página:

<!-- #include file = "funcoes.asp" -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Alterar Sub Categoria</title>
<link href="css/padrao_admin_secoes_produtos.css" rel="stylesheet" type="text/css"/>
<script src="../SpryAssets/SpryValidationTextarea.js" type="text/javascript"></script>
<link href="../SpryAssets/SpryValidationTextarea.css" rel="stylesheet" type="text/css" />
</head>

<body>

<% 

dim rs, conexao, SQLlistaCategorias, rsCategorias

'Chama a conexão com o banco de dados
call abre_conexao

'Executa comando SQL 
set rs= conexao.Execute("select SUBCATEGORIAS.IdSubCategoria, CATEGORIAS.TituloCategoria, CATEGORIAS.IdCategoria, SUBCATEGORIAS.TituloSubCategoria, SUBCATEGORIAS.Descricao from SUBCATEGORIAS INNER JOIN CATEGORIAS ON CATEGORIAS.IdCategoria = SUBCATEGORIAS.IdCategoria where IdSubCategoria = '"&request("codigo")& "'")



SQLlistaCategorias = "select * from CATEGORIAS"

%>

<form name="formaltera" action="altera_subcategoria_ok.asp" method="post">
	


	<table id="subcategoria_tabela_altera">
		<tr><th>Código</th>	 
		<th>Título</th>
		<th>Categoria</th>
		<th>Descrição</th>
		</tr>
		
		<tr>
		<td> <input type="text" name="txtcodigo" readonly="readonly" value="<%=rs("IdSubCategoria")%>"/> </td>
	   
		<td> <input type="text" name="txttitulo" value="<%=rs("TituloSubCategoria")%>"/> </td>
		
		<td> <select name="cmbcategoria" id="cmbcategoria" >
			
		  <%
		  
		  'Exibe (selecionada) a categoria cadastrada para a sub categoria
		 	response.write("<option selected value='")
			response.write UCase(rs("IdCategoria"))
			response.write "'>"
			response.write UCase(rs("TituloCategoria"))
			response.write ("</option>")
		
		  %>
		  
		  <%
		 set rsCategorias= conexao.Execute(SQLlistaCategorias) 'Seleciona todas as categorias cadastradas da tabela CATEGORIAS
		 while not rsCategorias.eof 'Enquanto não for o fim da tabela no banco de dados
			  response.write("<option value='")
			response.write UCase(rsCategorias("IdCategoria"))
			response.write "'>"
			response.write UCase(rsCategorias("TituloCategoria"))
			response.write ("</option>")
			
			rsCategorias.movenext
		 wend
		  %>
		  
		  
		</select> </td>
		
	
		<td> <span id="sprytextarea1">
		  <textarea name="txtdescricao" id="txtdescricao" cols="35" rows="5"><%=rs("Descricao")%></textarea>
		  <span id="countsprytextarea1"> </span><span class="textareaMaxCharsMsg">Limite de 255 caracteres excedido.</span></span></td>
	 
		
				
		
		
</tr>
		
		<tr> 
		<td colspan="4">
			<br/>
		
			<button value="Alterar" type="submit" name="alterar" alt="Alterar"> 
		   	<img src="images/icone_alterar.png" style="vertical-align: middle;" width="16px" height="16px" />
			Alterar
		   </button>
		   
		   <span>     </span>
		   
		  <button value="Excluir" type="button" name="excluir" alt="Excluir" onclick="window.location='exclui_subcategoria_ok.asp?codigo='+txtcodigo.value;"> 
		   	<img src="images/icone_excluir.png" style="vertical-align: middle;" width="16px" height="16px" />
			Excluir
		   </button>
		   
		   
		   
		   <span>     </span>
		   
		   
		   <button value="Voltar" type="button" name="voltar" alt="Voltar" onclick="java script:history.go(-1);">
		   	<img src="images/icone_voltar.png" style="vertical-align: middle;" width="16px" height="16px" /> 
			  Voltar 
		   </button> <BR/>
		   
		</td>
		</tr>

		
	 </form>
	</table> 


<% 
  set rs = nothing 'Destrói o Objeto
  set rsCategorias = nothing 'Destrói o Objeto

%>
<script type="text/javascript">
<!--
var sprytextarea1 = new Spry.Widget.ValidationTextarea("sprytextarea1", {validateOn:["blur", "change"], minChars:0, isRequired:false, maxChars:255, counterId:"countsprytextarea1", counterType:"chars_remaining"});
//-->
</script>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza, tem tb um exemplo de países e cidades, mesma lógica de categotria e sub, se kiser dar uma olhada esta no lab. de script e tem um modelo em AJAX de categoria e 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.