Kinhabeu Postado Novembro 2, 2004 Denunciar Share Postado Novembro 2, 2004 Olá PessoalAlguém sabe que erro é esse?ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /laporcela/laticinios.asp, line 0 Um abraço e obrigada,Erika Link para o comentário Compartilhar em outros sites More sharing options...
0 PASP Postado Novembro 2, 2004 Denunciar Share Postado Novembro 2, 2004 Ou a tabela está vazia (sem registros), ou não existe o nome do campo que você colocou.. Atenção! Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 2, 2004 Autor Denunciar Share Postado Novembro 2, 2004 A tabela não esta vazia e o campo existesqlProd = "SELECT * FROM produtos WHERE departamento='laticinios' ORDER BY produto"set Registros = Conexao.Execute (sqlProd)Ele até mostra direitinho somente os registros cujo departamento é igual a laticinios, mas no final dá aquele erro.Como faço para o ASP não mostrar o erro, porque está funcionando. Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Novembro 2, 2004 Denunciar Share Postado Novembro 2, 2004 Olá PessoalAlguém sabe que erro é esse?ADODB.Field error '80020009' Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record. /laporcela/laticinios.asp, line 0 Um abraço e obrigada,Erika Calma Erica!!Relaxa que tudo dá certo no final....Provavelmente, você não deu um tratamento no seu looping ao percorrer as informações de sua tabela.Dica:Sempre procure fazer o seguinte para mostrar todos os registros.... While Not Rs.EofTradução: Enquanto não for vazio (EOF) o Recordset (Rs) execute a instrução...Bjão!![ursolouco] - Ex Funcionario da AOL _ hehehe manda PM para se lembrar de quem eu sou..!!! Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Novembro 3, 2004 Denunciar Share Postado Novembro 3, 2004 heheSe não funcionar as dicas dadas, poste aí seu codigoT+ Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 3, 2004 Autor Denunciar Share Postado Novembro 3, 2004 Pessoal Valeu a força...... Se isso não funcionar, meu pecoço vai rolar aqui na empresa.Ainda não funcionou... Segue o códigoEu preciso que os produtos apareçam em uma tabala de 3 colunas, um do lado do outro. E a cada 3 produto pule de linha.Olha qe eu fiz:<%ConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\home\notabrasil\dados\banco.mdb;"Set Conexao = Server.CreateObject("ADODB.Connection")Conexao.Open ConnStringsqlProd = "SELECT * FROM produtos WHERE departamento='laticinios' ORDER BY produto"set Registros = Conexao.Execute (sqlProd)%> <br><br> <table border="0" width="490" align="center"> <% if Not Registros.EOF then while not Registros.eof%> <tr align="center"> <td width=150><b><%= Registros("produto") %></b><br> <img src=<%= Registros("imagem") %>><br> <%= Registros("descricao") %><br></td><%Registros.MoveNext%> <td width=20> </td> <td width=150><b><%= Registros("produto") %></b><br> <img src=<%= Registros("imagem") %>><br> <%= Registros("descricao") %></td> <td width=20> </td><%Registros.MoveNext%> <td width=150><b><%= Registros("produto") %></b><br> <img src=<%= Registros("imagem") %>><br> <%= Registros("descricao") %></td> </tr> <tr> <td colspan="5"> </td> </tr> <%Registros.MoveNextWend%></table><%else%><br><br> <table border="0" width="490" align="center"> <tr align="center"> <td width=490>Nenhum dado encontrado</td> </tr> <tr> <td colspan="2"> </td> </tr> </table><%End if%><%Registros.CloseConexao.Close Set Registros = NothingSet Conexao = Nothing%> Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Novembro 3, 2004 Denunciar Share Postado Novembro 3, 2004 Não sei ao certo, se vai funcionar, pois fiz por cima..<% '... '..... sqlProd = "SELECT * FROM produtos WHERE departamento='laticinios' ORDER BY produto Set Rs = Server.CreateObject("adodb.recordset") Set Rs = Conexao.Execute(sqlProd) If Not Rs.Eof Then vProd = Rs.GetRows End If controle = 0 contador = 0 totalvetor = ubound(vProd) pulalinha = 0 Response.Write("<table>") While contador < totalvetor if pulalinha = 0 Then For I = 0 To 3 Response.Write("<td><p>") Response.Write(vprod(1,contador)) Response.Write("</p></td>") Next pulalinha = 1 elseif pulalinha = 1 then Response.Write("<tr>") Response.Write("<td colspan='3'>") Response.Write("<p></p>") Response.Write("</td>") Response.Write("</tr>") pulalinha = 0 End if contador = contador + 1 Wend Response.Write("</table>") Conexao.Close Set Conexao = Nothing %> Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 3, 2004 Autor Denunciar Share Postado Novembro 3, 2004 Olha só como ficou:http://www.notabrasil.com.br/laporcela/teste3.aspele não está mudando de registro e nem mostrando todos.Tem 46 registros e ele só mostrou 2Um abraçoErika Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Novembro 3, 2004 Denunciar Share Postado Novembro 3, 2004 <% '... '..... sqlProd = "SELECT * FROM produtos WHERE departamento='laticinios' ORDER BY produto Set Rs = Server.CreateObject("adodb.recordset") Set Rs = Conexao.Execute(sqlProd) If Not Rs.Eof Then vProd = Rs.GetRows End If contador = 0 totalvetor = ubound(vProd) Response.Write("<table>") While contador < totalvetor For I = 0 To 2 Response.Write("<tr>") Response.Write("<td><p>") Response.Write(vprod(1,contador)) Response.Write("</p></td>") Response.Write("</tr>") Next contador = contador + 1 Wend Response.Write("</table>") Conexao.Close Set Conexao = Nothing %> Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 3, 2004 Autor Denunciar Share Postado Novembro 3, 2004 Ainda não. Ele muda de registro, nem mostra todos..... E agora não coloca um na frente do outroBuáááááaááááaááááaááa........Um abraçoErika Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Novembro 3, 2004 Denunciar Share Postado Novembro 3, 2004 <% '... '..... sqlProd = "SELECT * FROM produtos WHERE departamento='laticinios' ORDER BY produto Set Rs = Server.CreateObject("adodb.recordset") Set Rs = Conexao.Execute(sqlProd) If Not Rs.Eof Then vProd = Rs.GetRows End If contador = 0 totalvetor = ubound(vProd) Response.Write("<table>") while contador < totalvetor Response.Write("<tr>") For C = 0 to 2 Response.Write("<td>") Response.Write(vProd(1, contador)) contador = contador + 1 Response.Write("</td>") Next Response.Write("</tr>") wend Response.Write("</table>") Conexao.Close Set Conexao = Nothing %> Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 3, 2004 Autor Denunciar Share Postado Novembro 3, 2004 Tá quase dando certo.........Ele agora muda de registro mas só coloca 6 registros (2 linhas) e não os 46....Você está salvando a minha pele !!! Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Novembro 3, 2004 Denunciar Share Postado Novembro 3, 2004 Tá quase dando certo.........Ele agora muda de registro mas só coloca 6 registros (2 linhas) e não os 46....Você está salvando a minha pele !!! Estamos quase lá....Talvez, dê problemas no seu vetor, mas não custa tentar...<% '... '..... sqlProd = "SELECT * FROM produtos WHERE departamento='laticinios' ORDER BY produto Set Rs = Server.CreateObject("adodb.recordset") Set Rs = Conexao.Execute(sqlProd) If Not Rs.Eof Then vProd = Rs.GetRows End If contador = 0 totalvetor = ubound(vProd, 1) Response.Write("<table>") while contador < totalvetor Response.Write("<tr>") For C = 0 to 2 Response.Write("<td>") Response.Write(vProd(1, contador)) contador = contador + 1 Response.Write("</td>") Next Response.Write("</tr>") wend Response.Write("</table>") Conexao.Close Set Conexao = Nothing %> Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 3, 2004 Autor Denunciar Share Postado Novembro 3, 2004 Realmente ele não passa da segunda linha.....Não quero mais abusar de você.Eu preciso entregar isso hoje.Eu tenho um banco de dados access com 250 produtos cadastrados (nome, foto, descrição e departamento).Eu preciso que esta página mostre somente o deparamento laticinio em uma tabela com 3 colunas (nome, foto embaixo e a descrição) e com paginação para a página não ficar comprida.Você pode fazer ou conhece alguém que possa fazer somente esta página pra mim? E quanto você vai cobrar? Assim que funcionar (dependendo do valor) eu já transfiro o dinheiro.Um abraçoErika Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Novembro 3, 2004 Denunciar Share Postado Novembro 3, 2004 Olá kinhabeu.Deixa eu me meter no papo aqui, huahauauhOlha só.. ele ta dando erro no final, né?Após mostrar todos os dados, dá erro, certo?Então, deve ser porque, quando ele chega no ultimo registro do banco, e se depara com o comando MoveNext, e como o próximo não exite, gera o erro.Eu nunca tentei isso, mas que tal fazer um IF, antes do ultimo MoveNext, e testar se o registro atual é o ultimo?Assim, quando for o ultimo, esse comando não é executado, e não dará erro!Que acha?Pondo em prática, ficaria algo assim:<%ConnString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\home\notabrasil\dados\banco.mdb;"Set Conexao = Server.CreateObject("ADODB.Connection")Conexao.Open ConnStringsqlProd = "SELECT * FROM produtos WHERE departamento='laticinios' ORDER BY produto"set Registros = Conexao.Execute (sqlProd)%> <br><br> <table border="0" width="490" align="center"> <% if Not Registros.EOF then while not Registros.eof%> <tr align="center"> <td width=150><b><%= Registros("produto") %></b><br> <img src=<%= Registros("imagem") %>><br> <%= Registros("descricao") %><br></td><%Registros.MoveNext%> <td width=20> </td> <td width=150><b><%= Registros("produto") %></b><br> <img src=<%= Registros("imagem") %>><br> <%= Registros("descricao") %></td> <td width=20> </td><%Registros.MoveNext%> <td width=150><b><%= Registros("produto") %></b><br> <img src=<%= Registros("imagem") %>><br> <%= Registros("descricao") %></td> </tr> <tr> <td colspan="5"> </td> </tr> <%if Registros.EOF = False then Registros.MoveNextend ifWend%></table><%else%><br><br> <table border="0" width="490" align="center"> <tr align="center"> <td width=490>Nenhum dado encontrado</td> </tr> <tr> <td colspan="2"> </td> </tr> </table><%End if%><%Registros.CloseConexao.Close Set Registros = NothingSet Conexao = Nothing%>PS: Eu peguei o código que você postou logo após o meu post.. aqui.não custa nada tentar, né!Teste, e nos diga o que ocorreu!Abraços Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Novembro 4, 2004 Denunciar Share Postado Novembro 4, 2004 Olá Erica!!!<% Function criaLink(dir, Inicio, Final) Response.Write("<a href=") Response.Write("ursolouco_laticinios.asp?Inicio=") Response.Write(INicio) Response.Write("&Final=") Response.Write(Final) Response.Write(">") Response.Write(dir) Response.Write("</a>") End Function Inicio = Request("INicio") Final = Request.QueryString("Final") If isEmpty(Inicio) Then Inicio = 0 End If If isEmpty(Final) Then Final = Inicio + 4 End If cBanco = "banco.mdb" strConn = "Provider = Microsoft.jet.oledb.4.0; Data Source = " & cBanco Set Conn = Server.CreateObject("adodb.connection") Conn.Open(strConn) strSQL = "SELECT * FROM produtos WHERE departamento='laticinios' ORDER BY produto" Set Rs = Server.CreateObject("adodb.recordset") Set Rs = Conn.Execute(strSQL) If Not Rs.Eof Then vRs = Rs.GetRows maxRegistro = UBound(vRs) Response.Write("<table border='0' cellspacing='0' cellpading='0' align='center'>") Contador = Inicio For I = Inicio To Final Response.Write("<tr>") For C = 0 to 2 Response.Write("<td width=135>") Response.Write("<p>") Response.Write("<img src='") If Contador < maxRegistro Then Response.Write(vRs(4,Contador)) Else Response.Write(" ") End If Response.Write("' border='0'") Response.Write(" >") Response.Write("<br>") Response.Write(vRs(1,Contador)) Response.Write("</p>") Response.Write("</td>") Contador = Contador + 1 Next Response.Write("</tr>") Next Response.Write("</table>") Response.Write("<br>") Response.Write("<p align=center>") If Inicio > 1 Then Call CriaLink("Voltar", Inicio -4, Final-4) End if Response.Write(" :: ") If Inicio >= 0 Then Call CriaLink("Avançar", Inicio+4, Final+4) End If Response.Write("</p>") Conn.Close Set Conn = Nothing Else Response.Write("<table border='0' cellspacing='0' cellpading='0'>") Response.Write("<tr>") Response.Write("<td>") Response.Write("<p>") Response.Write("Não foi encontrado nenhum registro") Response.Write("</p>") Response.Write("</td>") Response.Write("</tr>") Response.Write("</table>") Conn.Close Set Conn = Nothing End If %>Só não estou conseguindo para a paginação, mas isso ae, acredito que você consiga resolver, porque agora, não dá nem pra da uma olhada, esta terrivel por aqui.Abraços!! Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 4, 2004 Autor Denunciar Share Postado Novembro 4, 2004 Já valeu demais mesmo......Este codigo que você me mandou funciona diretinho, só dá erro no final.Vou tentar resolver.Obrigada, de verdade e estou a disposição para qualquer problema de design que você tenha que resolver (Photoshop, corel, etc.)Um grande abraço,Erika Link para o comentário Compartilhar em outros sites More sharing options...
0 dark0 Postado Novembro 4, 2004 Denunciar Share Postado Novembro 4, 2004 Já valeu demais mesmo......Este codigo que você me mandou funciona diretinho, só dá erro no final.Vou tentar resolver.Obrigada, de verdade e estou a disposição para qualquer problema de design que você tenha que resolver (Photoshop, corel, etc.)Um grande abraço,Erika conseguiu resolver seu problema?Como ficou? Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Novembro 4, 2004 Denunciar Share Postado Novembro 4, 2004 Já valeu demais mesmo......Este codigo que você me mandou funciona diretinho, só dá erro no final.Vou tentar resolver.Obrigada, de verdade e estou a disposição para qualquer problema de design que você tenha que resolver (Photoshop, corel, etc.)Um grande abraço,Erika conseguiu resolver seu problema?Como ficou? Dark!!Só não estou conseguindo fechar ou paralizar a paginação, de resto, esta tudo ok. Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 4, 2004 Autor Denunciar Share Postado Novembro 4, 2004 Estava repetindo de uma página para outra os produtos, mas isso eu consegui resolver, só não consigo resolver parar a paginação<% Function criaLink(dir, Inicio, Final) Response.Write("<a href=") Response.Write("base.asp?file=Ericalaticinios.asp&file2=titulos/laticinios.asp&Inicio=") Response.Write(INicio) Response.Write("&Final=") Response.Write(Final) Response.Write(">") Response.Write(dir) Response.Write("</a>") End Function Inicio = Request("INicio") Final = Request.QueryString("Final") If isEmpty(Inicio) Then Inicio = 0 End If If isEmpty(Final) Then Final = Inicio + 4 End If cBanco = "e:\home\notabrasil\dados\banco.mdb" strConn = "Provider = Microsoft.jet.oledb.4.0; Data Source = " & cBanco Set Conn = Server.CreateObject("adodb.connection") Conn.Open(strConn) strSQL = "SELECT * FROM produtos WHERE departamento='laticinios' ORDER BY produto" Set Rs = Server.CreateObject("adodb.recordset") Set Rs = Conn.Execute(strSQL) If Not Rs.Eof Then vRs = Rs.GetRows maxRegistro = UBound(vRs) Response.Write("<table border='0' cellspacing='0' cellpading='0' align='center' width=510>") Contador = Inicio For I = Inicio To Final Response.Write("<tr>") For C = 0 to 2 Response.Write("<td align=center width=150>") Response.Write("<p><font color=#666666 size=2 face=verdana>") Response.Write("<img src='") Response.Write(vRs(4,Contador)) Response.Write("' border='0'") Response.Write(" >") Response.Write("<br><b>") Response.Write(vRs(1,Contador)) Response.Write("</b><br>") Response.Write(vRs(2,Contador)) Response.Write("</p>") Response.Write("</td>") Response.Write("<td width=20> </td>") Contador = Contador + 1 Next Response.Write("</tr><tr><td colspan=6> </td></tr>") Next Response.Write("</table>") Response.Write("<br>") Response.Write("<p align=center><font size=2 face=verdana>") If Inicio > 1 Then Call CriaLink("Voltar", Inicio -14, Final-14) End if Response.Write(" :: ") If Inicio >= 0 Then Call CriaLink("Avançar", Inicio+14, Final+14) End If Response.Write("</font></p>") Conn.Close Set Conn = Nothing Else Response.Write("<table border='0' cellspacing='0' cellpading='0'>") Response.Write("<tr>") Response.Write("<td>") Response.Write("<p>") Response.Write("Não foi encontrado nenhum registro") Response.Write("</p>") Response.Write("</td>") Response.Write("</tr>") Response.Write("</table>") Conn.Close Set Conn = Nothing End If %> Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 5, 2004 Autor Denunciar Share Postado Novembro 5, 2004 Pessoal,Não estou conseguindo mesmo paralizar o loop da paginação.Alguém pode me ajudar?Um abraçoErika Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Novembro 6, 2004 Denunciar Share Postado Novembro 6, 2004 Erica!!Até editei este POST, em sua homenagem...Veja este codigo:<% Response.Expires = 0 %> <html> <head> <title>:: Erica - Forum SB - Paginação de Vetor ::</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- p { font-family: Verdana; font-size: 10px; color: #000000; } a { text-decoration: none; } --> </style> </head> <body> <% Inicio = Request.Querystring("Inicio") If isEmpty(Inicio) Or Not isNumeric(Inicio) Or isNull(Inicio) Then Inicio = 0 Else Inicio = CInt(Inicio) End If cBanco = Server.MapPath("Nwind2000.mdb") Set Conn = Server.CreateObject("AdoDb.Connection") strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & cBanco Conn.open(strConn) RegistroTela = 15 sSQL = "SELECT ProductName From Products ORDER BY ProductName" Set Rs = Server.CreateObject("adodb.recordset") Set Rs = Conn.Execute(sSQL) If Not Rs.Eof Then vetor = Rs.GetRows Conn.Close Set Conn = Nothing maxLinhas = UBound(vetor, 2) maxColunas = UBound(vetor, 1) Final = Inicio + 15 Response.Write("Inicio:" & Inicio & "<br>") Response.Write("Final:" & Final & "<br>") Response.Write("Maximo:" & maxLinhas & "<br>") Response.Write("<table align=center border=1>") while (Inicio < Final) Response.Write("<tr>") For C = 0 To 2 If Inicio <= maxLinhas Then Response.Write("<td width=220><p>" & vetor(0, Inicio) & " <b>"& Inicio &"</b>" & "</p></td>") Inicio = Inicio + 1 Else Response.Write("<td width=220><p> </p></td>") Inicio = Inicio + 1 End If Next Response.Write("</tr>") Wend Response.Write("</table>") Response.Write("<br>") Response.Write("<p>") If Inicio > 15 Then Response.Write("<a href=vetor.asp?Inicio=" & (inicio - 30) & ">Voltar :</a>") End If If Inicio < maxLinhas Then Response.Write("<a href=vetor.asp?Inicio=" & Inicio & ">: Avançar </a>") End If Response.Write("</p>") Else Response.Write("<p>Não há informações na sua pesquisa.</p>") Conn.Close Set Conn = Nothing Response.End() End If %> </body> </html>O Ultimo item do vetor, vai montar a tabela completa, independente de ter ou não conteudo.Abraços e Boa Sorte!!![urso] Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 8, 2004 Autor Denunciar Share Postado Novembro 8, 2004 Grandeeeeee Urso!!!!! Muito obrigada.....Se você quiser dar uma olhadinha como ficou, acesse www.laporcela.com.brO cliente ficou feliz e meu emprego garantido.....Qualquer coisa que você precisar de designer, é só me chamar.Um grande beijoErika Link para o comentário Compartilhar em outros sites More sharing options...
0 Kinhabeu Postado Novembro 8, 2004 Autor Denunciar Share Postado Novembro 8, 2004 Ah!!! E obrigada pela homenagem.....Outros enforcados podem estar precisando disso.Valeu! Link para o comentário Compartilhar em outros sites More sharing options...
0 ursolouco Postado Novembro 8, 2004 Denunciar Share Postado Novembro 8, 2004 O cliente ficou feliz e meu emprego garantido..... Yesssssss!!Um desempregado a menos neste humilde pais.O Lula devia ler isto e me chamar pra união , talvez, possa ainda, salvar este pais.Erica, como já foi resolvido seu pequenino problema, vou fechar o tópico, qualquer coisa, via PM, peça para reabrir diretamente com qualquer moderador da seção.Bjão e Boa Sorte!!![uRSO] Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Kinhabeu
Olá Pessoal
Alguém sabe que erro é esse?
ADODB.Field error '80020009'
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
/laporcela/laticinios.asp, line 0
Um abraço e obrigada,
Erika
Link para o comentário
Compartilhar em outros sites
24 respostass a esta questão
Posts Recomendados