Erros Comuns no ASP
- Either BOF or EOF is True, or the current record has been deleted
- Esta operação deve usar uma consulta atualizável
- Object Required
- Operation must use an updateable query
- Server.CreateObject Failed
Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record
Descrição
É mais comum ocorrer quando se tenta usar uma RecordSet que não tenha registros. Por exemplo:
<% ... Rs.Open "SELECT * FROM Tabela WHERE Campo='Valor'", Conexao, 1, 3 Response.Write Rs("Campo") Rs.Close ... %>Suponhamos que, neste exemplo, nosso SQL não encontrou registro que satisfizesse a condição. Portanto, quando tentarmos imprimir o valor retornado para a Recordset, teremos um erro, já que tal valor não existe.
Solução
Nada que o bom e velho IF não resolva. Basta, antes de imprimirmos, verificamos se a Recordset contém registros.
<% ... Rs.Open "SELECT * FROM Tabela WHERE Campo='Valor'", Conexao, 1, 3 If Not Rs.EOF Then Response.Write Rs("Campo") End If Rs.Close ... %>--------------------------------------------------------------------------
Esta operação deve usar uma consulta atualizável
Descrição
Este erro, muito comum entre usuários do 2000 e XP, é associado às permissões de escrita da pasta onde está o banco de dados.
Solução
Se você estiver em uma rede, abra as propriedades da pasta e, na guia Segurança, dê permissão de escrita ao usuário do IIS, que normalmente é IUSR_NOMEDOPC. Caso contrário, abra o Gerenciador do IIS, em Ferramentas Administrativas, e acesse as propriedades do seu site. Na guia de Segurança do Diretório, clique no botão Editar... e desative o Acesso Anônimo.
--------------------------------------------------------------------------
Object Required
Descrição
Muito simples. Acontece quando você tenta usar um objeto que não existe. Geralmente causado por pura falta de atenção do programador. Exemplo:
<% Set Conexao = Server.CreateObject("ADODB.Connection") Con.Open "StringDeConexao" %>Fácil de perceber, não? Quem foi definido, foi o objeto Conexao. O Con simplesmente não existe.
Solução
Verifique em qual linha é o erro e certifique-se de que o objeto foi realmente definido em alguma outra parte anterior do código.
--------------------------------------------------------------------------
Operation must use an updateable query
Ver Esta operação deve usar uma consulta atualizável
--------------------------------------------------------------------------
Server.CreateObject Failed
Descrição
Pode-se dizer que é o erro mais “popular” entre o pessoal que tenta usar CDONTS e ASPMail ou outros componentes que nem todo servidor suporta. A causa é simples: o componente não está instalado.
Solução
Se você estiver usando algum provedor, seja ele pago ou gratuito, entre em contato com o suporte ou então procure na descrição do seu plano se há suporte para o componente que você está tentando usar.
Se você estiver hospedando na sua máquina, ou então puder registrar DLLs no servidor, baixeo componente, caso ele seja gratuito, ou pague pela licença, caso ele seja pago, e instale-o.
* Caso tenha mais algum p/ indicar, basta nos enviar uma MP.