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

(Resolvido) Problemas com Eof ou Bof - Banco de Dados Vazio


Rodrigo_Linhas

Pergunta

Olá galera estou com um problema e não consigo resolver, já pesquisei varios topicos aqui no Forum mas nenhum me ajudou, espero que vocês possam me ajudar!

O problema é que quando o banco de dados esta vazio ele fica me dando aquele erro (ADODB.Field erro '80020009') e já coloquei aqueles codigos de BOF e EOF mas mesmo assim o erro continua!

Segue o codigo abaixo!

<%

cnpath="DBQ=" & Server.MapPath("meu.mdb") 
DataSource = "Driver={Microsoft Access Driver (*.mdb)}; " & cnpath 

Set Conn = Server.CreateObject("ADODB.Connection") 

Conn.Open DataSource

Set rs1 = Server.CreateObject( "ADODB.Recordset" )
rs1.ActiveConnection = conn
rs1.open "SELECT *  FROM ponto where id = '"&Request.querystring("id")&"' order by id desc"

%>



<table border="1" width="100%" id="table" cellspacing="0" cellpadding="3" bordercolor="#000000">

<%
If Not Rs1.Eof Then 
%>

    <tr>
    <td align="center""><%=rs1("data")%></td>
    <td align="center"><%=rs1("manhaentrada")%></td>
    <td align="center"><%=rs1("manhasaida")%></td>
    <td align="center"><%=rs1("tardeentrada")%></td>
    <td align="center"><%=rs1("tardesaida")%></td>
    </tr>

<%
      else
      response.write("registro não encontrado")
      end if
      rs1.close
      set rs1=nothing
%>

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

11 respostass a esta questão

Posts Recomendados

  • 0

A sim, segue um dos valores da consulta... tipo o link segue cadastrado.asp?id=EV0G8FHT3B

Banco esta assim:

Tabela: Ponto

codigo: autonumeração / chave primaria

id: EV0G8FHT3B

etc.

Tabela: Funcionarios

id:EV0G8FHT3B /sem chave primaria

etc:

e o codigo completo:

<%

cnpath="DBQ=" & Server.MapPath("meu.mdb")
DataSource = "Driver={Microsoft Access Driver (*.mdb)}; " & cnpath

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open DataSource

Set rs = Server.CreateObject( "ADODB.Recordset" )
rs.ActiveConnection = conn
rs.open "SELECT *  FROM funcionarios where id = '"&Request("id")&"' order by id desc"


Set rs1 = Server.CreateObject( "ADODB.Recordset" )
rs1.ActiveConnection = conn
rs1.open "SELECT *  FROM ponto where id = '"&Request.querystring("id")&"' order by id desc"

%>



<table border="1" width="100%" id="table" cellspacing="0" cellpadding="3" bordercolor="#000000">

<%
If Not Rs1.Eof Then
%>

    <tr>
    <td align="center""><%=rs1("data")%></td>
    <td align="center"><%=rs1("manhaentrada")%></td>
    <td align="center"><%=rs1("manhasaida")%></td>
    <td align="center"><%=rs1("tardeentrada")%></td>
    <td align="center"><%=rs1("tardesaida")%></td>
    </tr>

<%
      else
      response.write("registro não encontrado")
      end if
      rs1.close
      set rs1=nothing
%>

Link para o comentário
Compartilhar em outros sites

  • 0
É campo inteiro na Tabela!

"EV0G8FHT3B" não é inteiro, é string. vai ter q usar aspa sim.

agora, qual o problema exatamente?? ele esta escrevendo "registro não encontrado", ou esta mostrando o erro ADODB.Field erro '80020009'??

se ele estiver dando erro, aponte pra nos em q linha exatamente esta acontecendo.

Link para o comentário
Compartilhar em outros sites

  • 0

O Banco de dados esta vazio, e preciso que ele avise que não tem nenhum registro encontrado ao invez de aparecer esse erro abaixo!

ADODB.Field erro '80020009'

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

cadastrado.asp.asp, line 0

o id "EV0G8FHT3B" é de um usuario, e preciso dessa id para identificar ele e nas paginas cadastrado.asp?id=EV0G8FHT3B, porque assim, quando tem cadastro no banco a pagina lê normalmente só que quando o usuario é novo aparece esse erro ai!

Link para o comentário
Compartilhar em outros sites

  • 0

colocou o tratamento na primeira sql aberta?

<%
cnpath="DBQ=" & Server.MapPath("meu.mdb")
DataSource = "Driver={Microsoft Access Driver (*.mdb)}; " & cnpath
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DataSource

Set rs = Server.CreateObject( "ADODB.Recordset" )
rs.ActiveConnection = conn
rs.open "SELECT *  FROM funcionarios where id = '"&Request("id")&"' order by id desc"
if rs.eof then
response.write "nada"
else

Set rs1 = Server.CreateObject( "ADODB.Recordset" )
rs1.ActiveConnection = conn
rs1.open "SELECT *  FROM ponto where id = '"&Request.querystring("id")&"' order by id desc"

%>
<table border="1" width="100%" id="table" cellspacing="0" cellpadding="3" bordercolor="#000000">

<%
If Not Rs1.Eof Then
%>

    <tr>
    <td align="center""><%=rs1("data")%></td>
    <td align="center"><%=rs1("manhaentrada")%></td>
    <td align="center"><%=rs1("manhasaida")%></td>
    <td align="center"><%=rs1("tardeentrada")%></td>
    <td align="center"><%=rs1("tardesaida")%></td>
    </tr>

<%
      else
      response.write("registro não encontrado")
      end if
      rs1.close
      set rs1=nothing
end if
rs.close
set rs=nothing

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

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