Jump to content
Fórum Script Brasil
  • 0

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


mortal
 Share

Question

<%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 to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 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!

Edited by Notax
Link to comment
Share on other 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 to comment
Share on other 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.

Edited by mortal
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647.1k
×
×
  • Create New...