Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fells

[Resolvido] Deletar (no SQL) pelo ASP não funciona

Recommended Posts

Bom dia caros, estou com dificuldades em fazer um jeito de excluir dados de uma tabela SQL Server via ASP.

Tenho uma página principal Veiculos.asp e a Remover.asp.

Sei que deve ter algumas mtas coisas erradas e queria ajuda de vcs pra resolver!

 

//veiculo.asp
//este tem um campo onde me mostra a lista de carros que possuo no banco e do lado coloquei o botão deletar que manda pra Remover.asp
     <!-- <p style="MARGIN-BOTTOM: 5%; MARGIN-TOP: 5%"> </p>-->
     <form name="ATU_VEI" action="Remover.asp" method="post">

       <table width="70%" aling="center">
<tr>
   <td align="center"><font size="2" face="verdana" color="#000080"><b>ATUALIZAÇÃO DE STATUS</b></font></td>
   <img title="Status" src="\Imagens\delete.png" align="right">
</tr>
         <tr>
           <td width="40%">Veículo:</td>
         </tr>
         <tr>
           <td width="60%" align="center">
               <select name="Veiculo">
               <option>
               <%
               sql = "SELECT Veiculo FROM Solic_asv_Veiculo WHERE Status <> ' ' "
               sql = sql & " ORDER BY veiculo"

	Set rs = Server.CreateObject("ADODB.Recordset")
               rs.Open sql, Session("Gestao_conn"), 3, 3
               On Error Resume Next
               rs.MoveFirst
               do while Not rs.eof
%>
                  <OPTION value="<%=rs.Fields("Res_asv")%>"><%=rs.Fields("veiculo")%><%=" "%><%=Desativado%>
                       <%
                  rs.MoveNext
               loop
%>
               </select>
           </td>

          <td align="center">
             <input class="botao" type="submit" name="Delete" value="Deletar">
           </td>
         </tr>
       </table>
     </form>

 

//Remover.asp
<%@ Language=VBScript%>

<html>
 <head>
   <title>
     <%=Session("Titulo")%></title>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </head>
 <body>
<!-- -----------------------------------------------------------------------------------
      _____________________________ Cabeçalho da página ______________________________ 

------------------------------------------------------------------------------------- -->

   <link href="Conteudo.css" rel="stylesheet" type="text/css">
     <table class="cabecalho">
       <tr>
  <td class="Colunacab">Exclusão do Veiculo
         </td>
       </tr>
     </table>
     <p style="MARGIN-BOTTOM: 5%; MARGIN-TOP: 5%"> </p>

<%

'________________________________________________________________________________________________
	'Instanciamos e abrimos nosso objeto conexão
'________________________________________________________________________________________________

	Set Conn = Server.CreateObject("ADODB.Connection")
	Conn.Open Session("Gestao_conn")
'________________________________________________________________________________________________
	'Recolhemos os valores do formulário
'________________________________________________________________________________________________

DelVei = Request.Form("Veiculo")

'________________________________________________________________________________________________
'Agora criamos a sentença SQL
'________________________________________________________________________________________________

InsSql = "DELETE  FROM Solic_asv_Veiculo WHERE Veiculo = '" & VeiculoD & "'"
set Ins = Conn.Execute(InsSql)

Conn.Close
%>

 </BODY>
</HTML>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Repare que :

 

 DelVei = Request.Form("Veiculo")

InsSql = "DELETE  FROM Solic_asv_Veiculo WHERE Veiculo = '" & VeiculoD & "'"

 

Você recupera uma informação do formulário e na query sql, você usa outra variavel: VeiculoD.

Recupere também essa variavel e deve correr como esperado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dica, segue um codigo para remover de forma fácil

 

If Request.QueryString("excluir") <> "" Then

Sql= "DELETE FROM tabelaWHERE id = " & Trim(Request.QueryString("excluir"))

Set ObjRS = Conexao.Execute(Sql)

Set ObjRS = Nothing

Response.Write "<script language='javascript'>alert('Removido com sucesso!')</script>"

End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Vinicius... eh que eu estava tentando algumas coisas e acabei alterando e esquecendo de mudar de novo.

Enfim... não funfou... ele não está excluindo cara.

 

Onedev... acho que isso que passou é mais pra ASP/ACCESS né? O Meu caso é ASP/SQL Server.

Compartilhar este post


Link para o post
Compartilhar em outros sites

a string SQL para exclusão funciona também no SQLServer, abaixo um form onde você escolhe o que quer deletar, e dependeo do caso, imagine que tem um dado que não pode ser removido, nesse caso o code não permite remover.

 

    <% ‘excluir_form.asp recebe o codigo pela url, dou um request.querystring

   ‘e atribuo a varcodigo para poder fazer a SQL,monto um form com um input

   ‘ type hidden para passar o codigo para excluir_action.asp ( action do form)

   option explicit

   ‘declaro as var

   dim conexao, conDBQ, constring, rs, SQL, varcodigo

   ‘recupero a var

   varcodigo=request.querystring(“codigo”)

   if session(“login”) <> “admin” then

   response.redirect(“administracao.asp?msgeof=11″)

   else

   ‘crio a conexao%>

   <!–#include file=”conn/conexao1.asp”–>

   <% ‘abro a conexao

   call abreconexao

   ‘crio o rs

   set rs=Server.CreateObject(“ADODB.Recordset”)

   ‘crio a SQL

   SQL=”SELECT * FROM login WHERE codigo=”&varcodigo&”"

   rs.open SQL,conexao,1,3%>

   <html>

   <head>

   <title>Excluir Usuário</title>

   </head>

   <body bgcolor=”#FFFFFF” text=”#000000″>

   <table width=”79%” border=”0″ bgcolor=”#336699″ cellpadding=”0″ cellspacing=”0″>

   <tr> <td width=”2%”> <div align=”center”><b><img src=”file:///A|/asp/imgs/curva.gif” width=”10″ height=”19″></b></div></td><td width=”98%”>

   <div align=”center”><b><font face=”Verdana, Arial, Helvetica, sans-serif” size=”3″ color=”#FFFFFF”>::

   </font><font face=”Verdana, Arial, Helvetica, sans-serif” size=”2″ color=”#FFFFFF”>Excluir

   Usuário</font></b></div></td></tr> <tr> <td colspan=”2″> <div align=”center”></div><div align=”center”></div><div align=”center”></div><div align=”center”></div></td></tr>

   </table><table width=”79%” border=”0″ cellpadding=”0″ cellspacing=”0″ bgcolor=”#336699″>

   <tr> <td bgcolor=”#336699″ height=”112″>

   <form name=”form1″ method=”post” action=”excluir_action_treina.asp”>

   <input type=”hidden” name=”codigo” value=”<%=rs(“codigo”)%>”> <table width=”100%” border=”1″ bordercolor=”#e6e6e6″>

   <tr> <td width=”19%”> <div align=”center”><font color=”#E6e6e6″><b><font face=”Verdana, Arial, Helvetica, sans-serif” size=”1″>Código</font></b></font></div></td><td width=”24%”>

   <div align=”center”><font color=”#E6e6e6″><b><font face=”Verdana, Arial, Helvetica, sans-serif” size=”1″>Login</font></b></font></div></td><td width=”22%”>

   <div align=”center”><font color=”#E6e6e6″><b><font face=”Verdana, Arial, Helvetica, sans-serif” size=”1″>Senha</font></b></font></div></td><td width=”35%”>

   <div align=”center”><font color=”#E6e6e6″><b><font face=”Verdana, Arial, Helvetica, sans-serif” size=”1″>Email</font></b></font></div></td></tr>

   <tr> <td width=”19%”> <div align=”center”><font color=”#33CCFF”><b><font size=”1″><font size=”1″><font face=”Verdana, Arial, Helvetica, sans-serif”><%=rs(“codigo”)%></font></font></font></b></font></div></td><td width=”24%”>

   <div align=”center”><font color=”#33CCFF”><b><font size=”1″><font size=”1″><font face=”Verdana, Arial, Helvetica, sans-serif”><%=rs(“login”)%></font></font></font></b></font></div></td><td width=”22%”>

   <div align=”center”><font color=”#33CCFF”><b><font size=”1″><font size=”1″><font face=”Verdana, Arial, Helvetica, sans-serif”><%=rs(“senha”)%></font></font></font></b></font></div></td><td width=”35%”>

   <div align=”center”><font color=”#33CCFF”><b><font size=”1″><font size=”1″><font face=”Verdana, Arial, Helvetica, sans-serif”><%=rs(“email”)%></font></font></font></b></font></div></td></tr>

   <%’fecha o rs

   set rs=nothing

   ‘fecha a conexao

   call fechaconexao

   end if%> </table><p align=”center”>

   <input type=”image” border=”0″ name=”imageField” src=”imgs/enviar.gif” width=”87″ height=”22″>

   </p></form></td></tr> </table>

   <p> </p><p> </p><p> </p>

   </body>

   </html>

 

Nesta exclusão, antes de efetuar , verificamos se o suer está querendo excluir o “admin”, caso o user seja igual ao admin, ele é redirecionado para a pagina de administração com uma mensagem de erro.Aqui usando a SQL DELETE é usada para excluir linhas em uma tabela.

 

    <% ‘aplicação para excluir os dados da base de dados do access,onde recupero

   ‘o codigo passado pelo excluir_form.asp do hidden,que no mesmo jah verifica

   ‘se o session = do admin (xanburzum);

   ‘depois de recuperar o codigo crio a conexao, o rs , o SQL dois SQL’z

   ‘um para selecionar o login para verificar se é o admin o outro

   ‘para executar a exclusaun e abro

   ‘se o rs(“login”) = xanburzum redireciono para administracao?msgeof=12

   ‘onde lá receberá uma popup k naun pode me excluir,senaun executa o sql

   Option explicit

   ‘declaro as var

   dim conexao, conDBQ, constring, rs, SQL, rsdel, SQLdel, varcodigo

   ‘recupero a var

   varcodigo=Trim(request.form(“codigo”))

   ‘crio a conexao %>

   <!–#include file=”conn/conexao1.asp”–>

   <% ‘abro a conexao

   call abreconexao

   ‘crio o rs

   set rs=server.createobject(“ADODB.Recordset”)

   ‘crio o SQL

   SQL=”SELECT login FROM login WHERE codigo=”&varcodigo&”"

   rs.open SQL,conexao,1,3

   ‘verifico atravez do select se o login é do admin

   if rs(“login”)= “admin” then

   response.redirect(“administracao.asp?msgeof=12″)

   set rs=nothing ‘fecho o rs do select

   else

   ‘crio o rsdel para excluir o registro

   set rsdel=server.createobject(“ADODB.Recordset”)

   SQLdel=”DELETE FROM login WHERE codigo=”&varcodigo&”"

   rsdel.open SQLdel,conexao,1,3

   response.redirect(“administracao_treina.asp?msg=3″)

   set rsdel=nothing

   end if

   ‘fecha a conexao

   call fechaconexao %>

 

Espero que ajude e lhe traga novas ideias

Compartilhar este post


Link para o post
Compartilhar em outros sites

verifique também o que esta sendo passado na sua string SQL,

dá um

response.write(Sql)
response.end()

Compartilhar este post


Link para o post
Compartilhar em outros sites

[RESOLVIDO]

Segue código galera. Obrigado pela força.

 

'** Pega os valores do formulário e compara se os mesmo são diferentes de vazio.
If Request.Form("Del") <> "" AND Request.Form("Veiculo") <> ""Then

'** Coloca-os em variáveis
   Wveiculo=Request.Form("Veiculo")
   WRes_asv=Request.Form("Res_asv")
   WDel=Request.Form("Del")

'** Compara se atende a condição estabelecida (A,D,R,E) = Ativar, Desativar, Reparar, Excluir
'** Aqui começa o processo para excluir.
'** Caso o usuário selecione o radio button 'Excluir' o 'E' é armazenado em um campo Status no BD
  If WDel = "A" or WDel = "D" or WDel = "R" or WDel = "E" Then
      sql = "UPDATE Solic_asv_Veiculo SET Status = '" & WDel & "' " 
      sql = sql & " WHERE Solic_asv_Veiculo.Res_asv = '" & Wveiculo & "' " 
      Session("Gestao_conn").Execute sql

'** Caso dê erro aparece uma msg na tela
    If Err.number <> 0 Then
%>
        <p style="MARGIN-BOTTOM: 10%; MARGIN-TOP: 10%"> </p>
        <table border="0" width="100%">
        <tr>
         <td align="center"><%="OCORREU O ERRO: " & Err.number%><br>
           <br>
           <%=Err.description%>
         </td>
        </tr>
      </table>
<% 
'** Caso não de erro aparece a msg na tela
     Else
%>
        <!--<p style="MARGIN-BOTTOM: 10%; MARGIN-TOP: 10%"> </p>-->
     <table border="0" width="50%" align="center" cellpadding="0" cellspacing="0">
        <tr>
   <td>
     <table border="0" width="100%">
                 <td align="center"><font size="2" color="#00CD00"><b>ATUALIZAÇÃO EFETIVADA<b></font>
            </table>
   </td>
   <td>
     <table border="0" width="50%">
	  <td><img title="Ok" src="\Imagens\ok.png" ></td>
     </table>
  </td>
</tr>
<!-- <tr>
  <td align ="center"><a href="ASV.asp"><< Retornar</a></td>
</tr> -->
    </table>
<%
'** Antes de encerrar o código faço o DELETE que exclui tudo onde o campo STATUS for igual a 'E'
    End If

       sql = "DELETE FROM Solic_asv_Veiculo WHERE Status = 'E'"
       Session("Gestao_conn").Execute sql

 End If

End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.