Ir para conteúdo
Fórum Script Brasil
  • 0

Quando Tem Registro , Diz Que Não Tem E Dá Erro


mortal

Pergunta

<%Language="VBScript"%>
<!--#include file= "conexao.asp"-->

<%
If IsEmpty(Session("SecurityID")) Then
    Response.Redirect "login.asp"
End If
%>

<html>
<head>
<title></title>
</head>

<font face="Verdana" size="2" color= "brown">
<h2>Consulta reservas</h2>

<table border=0 width=100%>
<% set lista_situacao = Conexao.Execute("SELECT * FROM situacao")
    If Not lista_situacao.EOF Then
%>
    <tr width=100%>
    <td width=100%>
    <table border=0>
        <tr width=100%><td><font face="Verdana" size="2">Listar reservas:&nbsp;</font></td>
        <%
        While not lista_situacao.EOF
        %>
            <td><font face="Verdana" size="2"><a href='con_reservas_a.asp?lista=status&situacao=<%=lista_situacao("sit_codigo")%>'><%=lista_situacao("sit_mensagem")%></a>&nbsp;</font></td>
        <%
        lista_situacao.MoveNext
        Wend
        %>
        </tr>
    </table>
    </td></tr>
    <%
    End If


Select Case Request.QueryString("lista")
    Case "status"
        set lista_reservas = Conexao.Execute("SELECT * FROM RESERVA WHERE sit_codigo=" & Request.QueryString("situacao"))
        If lista_reservas.EOF Then
        %>
            <tr width=100%><td width=100%><font face="Verdana" size="2" color="brown"><h3>Nenhuma reserva com essa situação.</h3></font></td></tr>
        <%
        lista ="não"
        End If
    Case Else
    lista = "não"
End Select


If Not (lista = "não") Then
%>
    <tr width=100%>
    <td width=100%><table border=1 width=100%>
        <tr width=100%>
        <th width=1%><font face="Verdana" size="2">Reserva</font></th>
        <th><font face="Verdana" size="2">Nome do Cliente</font></th>
        <th><font face="Verdana" size="2">Filme</font></th>
        <th><font face="Verdana" size="2">Valor</font></th>
        <th><font face="Verdana" size="2">Situação</font></th>
        <th><font face="Verdana" size="2">Retirada</font></th>
        <th><font face="Verdana" size="2">Detalhes</font></th>
    <%
    While not lista_reservas.EOF
        set lista_filmes = Conexao.Execute("SELECT prod_nome, prod_valor FROM produtos WHERE prod_codigo=" & lista_reservas("prod_codigo"))
        set lista_cliente = Conexao.Execute("SELECT cli_nome FROM clientes WHERE cli_codigo=" & lista_reservas("cli_codigo"))
        set lista_situacao = Conexao.Execute("SELECT sit_mensagem FROM situacao WHERE sit_codigo="& lista_reservas("sit_codigo"))

        %>
        <tr width=100%>
            <td align=center><font face="Verdana" size="2"><%=lista_reservas("res_numero")%></font></td>
            <td><font face="Verdana" size="2"><%=lista_cliente("cli_nome")%>
            </td>
            <td><font face="Verdana" size="2"><%=lista_filmes("fil_nome")%></font>
            </td>
            <td align=left><font face="Verdana" size="2">R$<%=FormatNumber(lista_filmes("prod_valor"),2,-1,0,-1)%></font></td>
            <td align=center><font face="Verdana" size="2"><%=lista_situacao("sit_mensagem")%></font></td>
            <td align=center><font face="Verdana" size="2"><%=lista_reservas("res_retirada")%></font></td>
            <td align=center><font face="Verdana" size="2"><a href="det_reservas.asp?reserva=<%=lista_reservas("res_numero")%>&cliente=<%=lista_reservas("cli_codigo")%>&listar=sim">Editar</a></font></td>
        <%

        ped_anterior = lista_reservas("res_numero")
        lista_reservas.MoveNext

    Wend
    %>
    </table>

<%
End If
%>
</table>
<html>

Tenho o seguinte código

Quando não tem nenhum registro para exibir , aparece uma msg dizendo: Nenhuma reserva com essa situação.

Mas quando tem um registro para exibir, dae dá o seguinte erro:

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.

/sitescurso/novo/con_reservas_a.asp

meu bd tem permissão e talzz, a tabela que resgata estes valores para exibir na tela se chama reserva, e está relacionada com mais três tabelas.

Eu noto que quando eu deleto todos os registros desta tabela, não da erro , só a msg dizendo Nenhuma reserva com essa situação. , e quando eu coloco algum registro, acontece esse maldito erro

Alguém ae me socorre por favor.

ficaria grato obrigado por enquanto

na tabela reserva existem os seguintes campos

Res_codigo, Res_numero, Cli_codigo, Prod_codigo, Sit_codigo, Res_data, Res_retirada

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Eu tenho tido muitos problemas com bd de mais de uma tabela... fiz um teste esses dias tentando fazer com que meu script funcionasse em u bd com só uma tabela... e rolou perfeito... não sou o mais indicado para dar sugestãoes, pois sou leigo no assunto... mas já tentou fazer esse teste que mencionei? enfim... não que esta seja uma boa solução, mas se funcionasse em bd com uma tabela só tu já terias um bom indicativo de onde pode ser o problema, não? vou acompanhar este tópico para ver se derepente não encontro a solução pro meu problema tb! Boa sorte!

Editado por Notax
Link para o comentário
Compartilhar em outros sites

  • 0

eu acho que teu codigo ta mal estruturado, por que voce ta colocando 3 consultas ao banco dentro do while??? já pensou se voce tem 500 registros na tabela e ai você vai fazer 2000 consultas ao banco??? sua aplicação vai ficar muito lenta!

Creio que o problema até parta dai, tente tirar essas 3 consultas de dentro do while e veja se ocorre o problema. E tente repensar uma maneira melhor

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui arrumar, muito obrigado pelas dicas e ajuda mas só mais uma pergunta aew pra andréia ou pra quem souber responder:

como eu faço para que quando a página atingir um limite de registros exibidos, por exemplo 20 ,a página cria um link para outra e "vira"???

só falndo desse código aew em cima, Eu tinha um outro código que era igualzinho que eu tinha feito no meu curso, dae eu queria mudar a estrutura algumas coisinhas do site e fiz essa página aew. mais a do site original , pegava belezinha.

Editado por mortal
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...