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

Dificuldades Com Exclusao No Bd


adriano182

Pergunta

Galera, to com dificuldades de excluir dados de um bd.

o sistema esta no endereço: www.cubbos.com/marcaqui/site/asp/fexc_ag.asp

O que ocorre é que quando seleciono o usuario, da um erro. alterando de "usuario" para "codigo" no campo, o prog funciona..

o erro que dá, é:

Microsoft JET Database Engine erro '80040e07'

Tipo de dados imcompatível na expressão de critério.

/marcaqui/site/asp/exc_ag.asp, line 20

o codigo é:

fexc_ag.asp

.
.
.
   <%
    set conexao2=server.CreateObject("ADODB.connection")
    set rs2= server.createobject("ADODB.recordset")
    conexao2.open "provider=microsoft.jet.oledb.4.0;data source=" & Server.MapPath("db/agmedico.mdb")

	SQL2 = "Select * From pediatra Order By codigo"
	rs2.open SQL2,conexao2 %>
  
  Codigo a ser excluido:</strong></font> 
  <select name="usu" size="1">
    <% while not rs2.eof %>
      <option value="<%=rs2("usuario")%>"> <%= rs2("usuario")%></option>
   <% 
   rs2.movenext    
   wend
   %>
  </Select>
    <input name="excluiusuario" type="submit" value="Excluir">
  </p>
  </form>
.
.
.
exc_ag.asp
<%
usu = Request.form("usu") 

' mapeia o caminho 
x = Server.MapPath("db/agmedico.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 
set rs= server.createobject("ADODB.recordset")
Conexao.Open liga
' String SQL para inserir os dados na tabela chamada cadastro
strSQL = "DELETE * from pediatra WHERE usuario ="&usu&" "

' executa a string

if usu <> "" then
  while not rs.eof
    set apaga = Conexao.execute(strSQL)
    rs.movenext
  wend 
  response.redirect("fexc_ag.asp")
else
response.redirect("fexc_ag.asp")
end if


' fecha a conexão
Conexao.close

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

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Tipo, para fazer a exclusão se faz isso aqui:

<%if request.querystring("excluir") <> "" then
Conn.Execute "Delete From tabela where id = "&request.querystring("excluir")&""
end if%>

Caso tenha mais dúvidas ai, é só postar que nós te ajudaremos!!! wink.gif

[]'s

Victor

Link para o comentário
Compartilhar em outros sites

  • 0

Pelo que eu entendi, tipo ele so ta funcionando por isso é então mude somente.. esta parte do codigo...

<option value="<%=rs2("codigo")%>"> <%= rs2("usuario")%></option>

Pois seguindo a logica de seus problemas .olhe so se ele funciona com o codigo... vamos mostrar o nome.. e passar o codigo... .. ok

ABraços

Link para o comentário
Compartilhar em outros sites

  • 0

hum....

olá..

amigo, esse erro "Tipo de dados Incompatíveis acontece apenas porque, na sua comparação, deve estar faltando alguma aspa (')..

veja no seu codigo, a linha em vermelho..

exc_ag.asp

<%

usu = Request.form("usu")

' mapeia o caminho

x = Server.MapPath("db/agmedico.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

set rs= server.createobject("ADODB.recordset")

Conexao.Open liga

' String SQL para inserir os dados na tabela chamada cadastro

strSQL = "DELETE * from pediatra WHERE usuario ='"&usu&"' "

' executa a string

if usu <> "" then

while not rs.eof

   set apaga = Conexao.execute(strSQL)

   rs.movenext

wend

response.redirect("fexc_ag.asp")

else

response.redirect("fexc_ag.asp")

end if

' fecha a conexão

Conexao.close

' destrói o objeto Conexao para liberar memória

Set Conexao = nothing %>

perceba, na linha em vermelho.. o que eu adicionei.. eu coloquei em azul, para ressaltar..

eu mudei isso, pois, você está comparando strings. e para isso, usa-se essa sintaxe!

teste, e qualquer coisa, volte aí..

t+

dark

Link para o comentário
Compartilhar em outros sites

  • 0

é isso aí..

sempre que for executar qualquer comando SQL, você deve tomar cuidado com as aspas..

pois elas geralmente ocasionam vários erros bobos, que fazem com que nada funcione corretamente!

Só pra adicionar..

se o seu campo fosse número, o modo como você colocou estaria correto. Se fosse data tb. Mas string, necessita da aspa simples!

Bom.. como o problema foi resolvido, to fechando o tópico!

Qualquer duvida, me mande PM, que eu reabro o tópico, ok?

Abração!

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,7k
×
×
  • Criar Novo...