Ir para conteúdo

Arquivado

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

Luka13

Mensagem Quando Não Tiver Nada Pra Exibir

Recommended Posts

Tenho uma página que exibe dados de um banco Access, de acordo com cada dia.Porém há dias que não haverá informações para serem exibidas.Nesse caso, como fazer para exibir uma frase no lugar dessa informação? :mellow:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz uma condição IF amigo, isso ajuda?

 

If ""&RS("TextoFrase")&"" <> "" Then
   Response.Write("Amostra a frase")
ELse
   Response.Write("A Frase que você quer que apareça")
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Checa se é o fim do recordset, mais ou menos isso:

'Verifica se é o final do recordsetIf Rs.EOF Then 'Se for, mostra a fase abaixo   Response.Write "Não existem registros com esta data."Else 'Senao, percorre o recordset exibindo os valores   Rs.MoveFirst   Do While Not Rs.EOF	  For i = 0 To Rs.Fields.Count - 1		 Response.Write Rs.Fields(i).Value & " "	  Next	  Response.Write "<br />"	  Rs.MoveNext   LoopEnd If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consegui usar sua dica Ted K'.Anderson, com esse código ficou assim:

<%If Noticias.EOF Then 'Se for, mostra a fase abaixo   Response.Write "Não existem registros com esta data."Else 'Senao, percorre o recordset exibindo os valores   Noticias.MoveFirst   Do While Not Noticias.EOF	  For i = 0 To Noticias.Fields.Count - 1		 Response.Write Noticias.Fields(i).Value & " "	  Next	  Response.Write "<br />"	  Noticias.MoveNext   LoopEnd If%>
Mas dá esse erro:

Script error detected at line 14. Source line: If Noticias.EOF Then 'Se for, mostra a fase abaixo Description: Objeto necessário: ''

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que já estava setado.

Continua o erro. Vejam como está:

 

<%If NoticiasHJ.EOF Then 'Se for, mostra a fase abaixo   Response.Write "Não existem registros com esta data."Else 'Senao, percorre o recordset exibindo os valores   NoticiasHJ.MoveFirst   Do While Not NoticiasHJ.EOF	  For i = 0 To NoticiasHJ.Fields.Count - 1		 Response.Write NoticiasHJ.Fields(i).Value & " "	  Next	  Response.Write "<br />"	  NoticiasHJ.MoveNext   LoopEnd If%><%Dim NoticiasHJDim NoticiasHJ_cmdDim NoticiasHJ_numRowsSet NoticiasHJ_cmd = Server.CreateObject ("ADODB.Command")NoticiasHJ_cmd.ActiveConnection = MM_CadNoticias_STRINGNoticiasHJ_cmd.CommandText = "SELECT * FROM Noticias WHERE [DATA] = date()" NoticiasHJ_cmd.Prepared = trueSet NoticiasHJ = NoticiasHJ_cmd.ExecuteNoticiasHJ_numRows = 0%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então brother, o NoticiasHJ num ta setado como RecordSet então você num vai poder fazer aquele NoticiasHJ.EOF, sugira que você faça o q eu te falei:

Set NoticiasHJ = Server.CreateObject ("ADODB.Recordset")

Lembre-se de colocar qdo você executar o SQL.

 

Qaulquer dúvida postae!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o estranho é que com Recordset no Set, mesmo com algum registro pra exibir, dá o mesmo erro.

 

Veja como está todo o código do arquivo de teste noticia.asp:

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%><!--#include file="Connections/CadNoticias.asp" --><%Dim NoticiasHJDim NoticiasHJ_cmdDim NoticiasHJ_numRowsSet NoticiasHJ_cmd = Server.CreateObject ("ADODB.Recordset")NoticiasHJ_cmd.ActiveConnection = MM_CadNoticias_STRINGNoticiasHJ_cmd.CommandText = "SELECT * FROM Noticias WHERE [DATA] = date()" NoticiasHJ_cmd.Prepared = trueSet NoticiasHJ = NoticiasHJ_cmd.ExecuteNoticiasHJ_numRows = 0%><%If NoticiasHJ.EOF And NoticiasHJ.BOF ThenResponse.Write("Hoje não tem nenhuma informação")End If%><html><head><title>Untitled Document</title></head><body><%=(NoticiasHJ.Fields.Item("TITULO").Value)%></body></html><%NoticiasHJ.Close()Set NoticiasHJ = Nothing%>
Mas se eu colocar Command no lugar de Recordset, quando tem registro, ele mostra.

O erro de agora é esse:

 

Script error detected at line 47.

Source line: Response.Write (NoticiasHJ.Fields.Item("TITULO").Value)

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, seguinte, você tem duas estâncias, o NoticiasHJ e o noticiasHJ_cmd, o NoticiasHJ você vai usar como RS e o _cmd você vai executa o SQL não?

 

você tem q setar os dois. E qdo você executar o NoticiasHJ_cmd.execute você vai jogar ele no NoticiasHJ. Assim:

Set NoticiasHJ = Server.CreateObject ("Recordset")Set NoticiasHJ_cmd = Server.CreateObject ("ADODB.Command")NoticiasHJ_cmd.ActiveConnection = MM_CadNoticias_STRINGNoticiasHJ_cmd.CommandText = "SELECT * FROM Noticias WHERE [DATA] = date()"NoticiasHJ_cmd.Prepared = trueSet NoticiasHJ = NoticiasHJ_cmd.Execute

Acho q é isso.

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.