Ir para conteúdo

POWERED BY:

Arquivado

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

marcelocardoso

Tratar ERROS

Recommended Posts

PESSOAL!

 

Tenho o código abaixo, e não estou sabendo resolver caso o engraçadinho pelo browser ao ínvés de deixar o ID na URL, ele tirar e deixa dó assim: produtos.asp?id= ou ao invés de deixar em branco ele coloque um número assim: 1000000000.....

 

Com certeza isso me dará erro, e é oque eu não estou querendo que aconteça.

Tentei colocar um pequeno código de exemplo, e quero acrescentar nele estes tratamentos de ERROS.

vejam:

 

<table width="99%" border="0" align="center" cellpadding="2" cellspacing="2" class="PRODBORDA">  <tr> 	<td valign="top">	  <%'Resgatamos o valor vindo do campo do formulário ID = Replace(Trim(Request.QueryString("pesquisar")),"'","")'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'CONFIGURAÇÃO DA PAGINAÇÃO DE DADOS'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'Buscaremos primeiramente a página atual PagAtual = Request.QueryString("paginacao")'Definimos o máximo de registros que serão exibidos por tela MaximoPorPagina = 16 'Faremos agora a seleção dos campos no banco de dados SQL = "SELECT * FROM Produtos WHERE (ProdutosNome LIKE '%" & ID & "%') ORDER BY ID ASC" SET RSProdutos = Server.CreateObject("ADODB.Recordset")   	 RSProdutos.CursorType = 3	 RSProdutos.CacheSize = MaximoPorPagina	 RSProdutos.PageSize = MaximoPorPagina	 RSProdutos.Open SQL, ObjCX%>	  <%'Se o RecordSet está vazio, ou não achou oque procuramos, ele exibe a mensagem abaixo:  IF RSProdutos.BOF AND RSProdutos.EOF THEN %>	  <table width="95%" height="90" border="0" align="center" cellpadding="2" cellspacing="2">		<tr> 		  <td></td>		</tr>		<tr> 		  <td><div align="center"><font color="#0060BF">Sua busca não encontrou 			  nada</font><br>			  <font color="#0060BF">Por favor! tente novamente com outro nome 			  na busca de produtos.</font></div></td>		</tr>		<tr> 		  <td></td>		</tr>	  </table>	  <% 'Senão ele faz isto logo abaixo: ELSE%>	  <%'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'COMEÇO DA PAGINAÇÃO DE DADOS'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'Verificamos qual página foi solicitada IF Request.QueryString("paginacao") = "" THEN	PagAtual = 1		ELSE	PagAtual = Request.QueryString("paginacao") END IF'Movemos o objeto do RECORDSET para o início do ponteiro RSProdutos.MoveFirst 				 'Pegamos o número total de páginas TotalPages = RSProdutos.PageCount 'Configuramos a página atual RSProdutos.AbsolutePage = PagAtual     '::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'FINAL DA PAGINAÇÃO DE DADOS'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::%>	  <table width="100%" border="0" align="center" cellpadding="2" cellspacing="6">		<tr> 		  <td><div align="right"> 			  <%'Verificaremos se a busca partiu pela busca de produtos, ou pela página de produtos IF IDPROD = "" THEN'Mostraremos agora o total de registros no banco de dados Response.Write("Foram encontrados <b><font color=""#0060BF"">"& RSProdutos.RecordCount &"</font></b> registros")	  ELSE'Mostraremos agora o total de registros no banco de dados Response.Write("Sua busca por: <font color=""#FF9900""><b>"& IDPROD &"</b></font> retornou <b><font color=""#0060BF"">"& RSProdutos.RecordCount &"</font></b> registro(s)")'Finalizamos a condição do IF  END IF%>			  <%'Colocaremos o número da página atual e o número total de páginas Response.Write("<br>Mostrando página atual <b>" & PagAtual & "</b> de " & TotalPages & "<br>")%>			</div></td>		</tr>	  </table>	  <TABLE width="100%" align="center" cellPadding=2 cellSpacing=3>		<TBODY>		  <TR> 			<% FOR i = 1 TO MaximoPorPagina'Verificaremos se a imagem do produto existe ou não no banco de dados para vermos qual imagem exibiremos na tela IF IsEmpty(RSProdutos("ProdutosImagemNormal")) OR IsNull(RSProdutos("ProdutosImagemNormal")) THEN	  ImagemTratada = "diretorio_img/img_produtos/imagem_semproduto_pequena.jpg"	 'Caso contrário, exibimos abaixo	  ELSE	  ImagemTratada = RSProdutos("ProdutosImagemNormal") END IF%>			<TD vAlign=top><TABLE width="100%" cellPadding=0 cellSpacing=0>				<TBODY>				  <TR> 					<TD vAlign=top> 					  <TABLE width="100%" cellPadding=0 cellSpacing=0>						<TBODY>						  <TR> 							<TD height=65 class=PRODDESCRICAO><div align="justify"> 								<%=RSProdutos("ProdutosNome")%> 								<p><%=Response.Write(LEFT(RSProdutos("ProdutosDescricao"),210) & "...")%></p>							  </div></TD>						  </TR>						  <TR> 							<TD width="71%" class=PRODALIGNTEXT><div align="right"><a 								href="page_produtos_detalhes.asp?codproduto=<%=RSProdutos("ID")%>" target="_parent"><img 								src="diretorio_img/imagem_marcador_-_detalhes1.gif" alt="Detalhes do produto" width=109 height=24 								border=0></a></div></TD>						  </TR>						</TBODY>					  </TABLE></TD>				  </TR>				</TBODY>			  </TABLE></TD>		  </TR>		</TBODY>		<%'Moveremos agora o ponteiro do RECORDSET para o próximo registro	RSProdutos.MoveNext IF RSProdutos.EOF THEN	EXIT FOR	END IF	NEXT%>	  </TABLE>	  <br> <table width="98%" border="0" align="center" cellpadding="2" cellspacing="4">		<tr> 		  <td> <div align="right"> 			  <%'Mostraremos agora os botões ANTERIOR e PRÓXIMO, utilizando a opção de IF  IF TotalPages > 1 THEN%>			</div></td>		</tr>	  </table>	  <br>	  <br> <table width="100%" align="center">		<tr> 		  <td align="center"> 			<%'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::'CRIAREMOS O MENU DA PAGINAÇÃO DE DADOS'::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::IF Cint(PagAtual) > 1 THEN%>			<a href="produtos.asp?pesquisar=<%=ID%>&paginacao=<%=PagAtual-1%>" target="_parent"><img src="diretorio_img/imagem_marcador_-_retorna1.gif" alt="Registro Anterior" width="93" height="24" border="0" align="absmiddle"></a> 			   			<% ELSE%>			<img src="diretorio_img/imagem_marcador_-_retorna1.gif" alt="Registro Anterior" width="93" height="24" align="absmiddle">   			<%END IF  FOR t=1 TO TotalPages	IF CInt(t) = CInt(PagAtual) THEN %>			<b><%=t%></b> 			<%ELSE%>			<a href="produtos.asp?pesquisar=<%=ID%>&paginacao=<%=t%>"><%=t%></a> 			<% END IF  	IF Cint(t) < TotalPages THEN%>			<%END IFNEXT	 IF Cint(PagAtual) < TotalPages THEN%>			   <a href="produtos.asp?pesquisar=<%=ID%>&paginacao=<%=PagAtual+1%>" target="_parent"><img src="diretorio_img/imagem_marcador_-_avancar1.gif" alt="Próximo Registro" width="90" height="24" border="0" align="absmiddle"></a> 			   			<%ELSE%>			   <img src="diretorio_img/imagem_marcador_-_avancar1.gif" width="90" height="24" align="absmiddle"> 			<% END IF%>		  </td>		</tr>	  </table>	  <br> <br> <br> 	  <%'Fecharemos as condições END IF END IF%>	</td>  </tr></table>
PODEM ME AJUDAR COLEGAS, POIS NÃO SEI ONDE E COMO INSERIR ALGO PARA RESOLVER ESTES DOIS PROBLEMAS NESTE CÓDIGO DE EXEMPLO ACIMA?

 

Aguardo retorno dos colegas com soluções caso já se deparam com isso.

 

Deus abençoe a todos.

Obrigado colegas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

ah manoweeei, trata sei la com replace na hora de receber ou entao<%if IsNumeric(request.querystring("id")) = true then set rs = bd.execute(sql) if rs.eof = false then while rs.eof = false then response.write rs("Text_Nome") & "<br>" rs.MoveNext loopelse response.write "erro"end if%>posso responder soh essa ou respondo os outros dois topicos q você postou igual ?? hauhuahuahuahua

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado COLEGA!

 

e Obrigado também pelo SARRO!..... Valeu Hein....

Estou aprendendo aos poucos mano.

 

Um Forte Abraço!

 

Obrigado COLEGA!

 

 

Valeu também pelo SARRO.

Estou aprendendo aos poucos, e pra mim é importante cada observação.

Valeu pela ajuda!

 

Deus Abençoe.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal!

 

Mais uma dúvida, consegui resolver um ERRO assim para não deixar o cara quando for ver um produto sem o ID:

 

Exemplo

produtos_detalhes.asp?codprod=

 

Aí eu fiz assim com um IF, e resolvi

'Validando no SERVIDOR	 IF Request.QueryString("codprod") = "" THEN	Response.Write "Mensagem"	Response.End END IF
Agora é que vem a minha mais cabeluda dúvida!

1) Como é que posso fazer através de um IF também fazer com que primeiramente a instrução verifique através do Record.Count quantos registros tem na TABELA de produtos e montar apartir daí um IF que não deixe se o cara digitar um ID de produto que for MAIOR ou MENOR que os contados pelo Record.Count???

 

Podem me ajudar?

Não se o meu raciocinio é VALIO.

 

 

Obrigado COLEGAS....

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.