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

Erro Em Consulta


adriano182

Pergunta

Criei uma consulta para listar os dados de um banco de dados.. algo bem simples. O script é esse:

<html>

<head>
<title>Consulta de Médicos</title>
</head>

<body>

<%
nome = Request.form("nome") 


' mapeia o caminho 
x = Server.MapPath("medico.mdb")

' cria o objeto Conexão 
Set Conexao = Server.CreateObject("ADODB.Connection")

' concatena a string do driver com o caminho 
liga = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& x 
'abre a conexão 
conexao.open liga

' cria o objeto de recordset
set medico = server.createobject("ADODB.Recordset")
medico.ActiveConnection = conexao

if nome <> "" then
  medico.open "select * from medico WHERE nome Like '%" & nome &"%'"
end if

if medico.eof then
  response.write "Não Existem Médicos com os Dados Selecionados!"
else
  while not (medico.eof)
  
     response.write "Nome do Medico:" & medico.fields("nome")%><br>
      <% medico.movenext
   wend
end if


' fecha a conexão
Conexao.close

' destrói o objeto Conexao para liberar memória
Set Conexao = nothing

medico.close
set medico = nothing
%>

Bom, o que ocorre é que depois de listar o que está no banco, aparece uma mensagem de erro. Ou sea ele lista e apresenta um erro depois.

a msg de erro é:

ADODB.Recordset erro '800a0e78'

Operation is not allowed when the object is closed.

/marcaqui/cons_med.asp, line 49

outra questão: como eu faço para colocar na consulta, mais campos, como campo, endereço, telefone...

Obrigado!

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

<html>
<head>
<title>Consulta de Médicos</title>
</head>
<body>
<%
nome = Request.form("nome")

' mapeia o caminho 
x = Server.MapPath("medico.mdb")

' cria o objeto Conexão 
Set Conexao = Server.CreateObject("ADODB.Connection")

' concatena a string do driver com o caminho 
liga = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& x 
'abre a conexão 
conexao.open liga

' cria o objeto de recordset
set medico = server.createobject("ADODB.Recordset")
medico.ActiveConnection = conexao

if nome <> "" then
 medico.open "select * from medico WHERE nome Like '%" & nome &"%'"
end if

if medico.eof then
 response.write "Não Existem Médicos com os Dados Selecionados!"
else
 while not (medico.eof)

    response.write "Nome do Medico:" & medico.fields("nome")%><br>
     <% medico.movenext
  wend
end if

medico.close
Set Medico = Nothing

' fecha a conexão
Conexao.close

' destrói o objeto Conexao para liberar memória
Set Conexao = nothing

%>

Uma pequena correção na posição do seu RecordSet.

Feche-o antes da conexão, libere-o da memoria para depois fazer o mesmo com sua conexão wink.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, o codigo ficou asim:

<html>

<head>
<title>Consulta de Médicos</title>
</head>

<body>

<%
nome = Request.form("nome") 
convenio = Request.form("convenio") 
especialidade = Request.form("especialidade") 


' mapeia o caminho 
x = Server.MapPath("medico.mdb")

' cria o objeto Conexão 
Set Conexao = Server.CreateObject("ADODB.Connection")

' concatena a string do driver com o caminho 
liga = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& x 
'abre a conexão 
conexao.open liga

' cria o objeto de recordset
set medico = server.createobject("ADODB.Recordset")
medico.ActiveConnection = conexao

if nome <> "" then
  medico.open "select * from medico WHERE nome Like '%" & nome &"%' AND convenio Like '%" & convenio &"%'" 
end if

if medico.eof then
  response.write "Não Existem Médicos com os Dados Selecionados!"
else
  while not (medico.eof)
  
    response.write "Nome do Medico:" & medico.fields("nome")%><br><%
    response.write "Convenio do Medico:" & medico.fields("convenio")%><br><br>
      <% medico.movenext
   wend
end if


' fecha a conexão
Conexao.close

' destrói o objeto Conexao para liberar memória
Set Conexao = nothing

' medico.close
' set medico = nothing
%>

A msg de erro é:

Microsoft JET Database Engine erro '80040e10'

No value given for one or more required parameters.

/marcaqui/cons_med.asp, line 31

Obrigado!

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...