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

Deletar selecionando checkbox


PRWEBMaster

Pergunta

Tudo bem galera?

Estou com uma dificuldade em excluir vários registros em uma lista utilizando o CHECKBOX, fiz assim:

<form id="form1" name="form1" method="get" action="ef_exclui_itens.asp?id_valores=<%=id_valores%>">

<input name="deleta" type="checkbox" id="id_valores" value=""/>

</form>

Na pagina ef_exclui_itens.asp:

id_valores = request.QueryString("id_valores")

'CONEXAO BANCO

Dim deleta

deleta = Request("deleta")

if deleta <> "" then

SQL = "DELETE FROM TB_PRECOS_HCS WHERE id_valores IN (" & deleta & ")"

conn.execute SQL

end if

set deleta = nothing

conn.close

Quando seleciono 1 item não exclui, não da erro, só q também quando seleciono 2 itens da o seguinte erro:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC SQL Server Driver][sql Server]Line 1: Incorrect syntax near ','.

/tabelas_precos_hcs/telas/ef_exclui_itens.asp, line 14

Gostaria de saber o que estou fazendo de errado.

Muito obrigado

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

Tudo bem lobismano?

Fiz a modificação, agora não da mais o erro mais também não exclui o que selecionei.

Conforme você pediu para fazer:

Dim deleta

deleta = Replace(Request("deleta"),",","','")

if deleta <> "" then

SQL = "DELETE FROM TB_PRECOS_HCS WHERE id_valores IN ('" & deleta & "')"

conn.execute SQL

end if

set deleta = nothing

conn.close

Muito Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia... você precisará fazer um for para deletar todos os registros selecionados... faça assim

Dim deleta

deleta = Request("deleta")

if deleta <> "" then

nDeleta = Split(Deleta,",")

for i = 0 to UBound(nDeleta)

SQL = "DELETE FROM TB_PRECOS_HCS WHERE id_valores = " & nDeleta(i)

conn.execute SQL

Next

end if

set deleta = nothing

conn.close

Att;

Link para o comentário
Compartilhar em outros sites

  • 0

Coloquei assim:

Dim deleta

deleta = Request("deleta")

if deleta <> "" then

nDeleta = Split(deleta,",")

response.redirect "teste.asp?teste="&deleta

for i = 0 to UBound(nDeleta)

SQL = "DELETE FROM TB_PRECOS_HCS WHERE id_valores = " & nDeleta(i)

oConn.execute SQL

Next

end if

set deleta = nothing

oConn.close

Mas não funfou.

Muito Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Eu sou novato em ASP, e to desenvolvendo um sistema super completo, por isso me perco um pouco.

Fiz assim:

Dim deleta

deleta = Request("deleta")

if deleta <> "" then

nDeleta = Split(deleta,",")

for i = 0 to UBound(nDeleta)

response.write "deleta"

SQL = "DELETE FROM TB_PRECOS_HCS WHERE id_valores = " & nDeleta(i)

oConn.execute SQL

Next

end if

set deleta = nothing

oConn.close

Não fique nervoso comigo.

:unsure:

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo.. justamente por você ser novato, você deve PRESTAR MUITA ATENÇÃO ao que lhe é dito...

Acima eu te disse para dar um Response.Write na sua SQL.. certo ???

Sua SQL é: SQL = "DELETE FROM TB_PRECOS_HCS WHERE id_valores = " & nDeleta(i)

Certo ??

Ou seja, você deve colocar a linha Response.Write(SQL) logo abaixo da linha da SQL... certo ??

Foi isso que você fez ??????????

Ao fazer o que eu te disse, será mostrado na tela a sua instrucao SQL do jeito que está indo para o BD.. ai você copia o que aparece na tela e posta aki..... não poste o seu código fonte, mas sim o que será impresso na tela....

Isso serve para você ver se o comando está indo corretamente para o BD...

Só reforçando: PRESTE ATENÇÃO ao que lhe é solicitado ou explicado..

Att;

Editado por Darkdemo
Link para o comentário
Compartilhar em outros sites

  • 0

Amigo

Acho que o problema é como você está carregando a variavel <%=id_valores%>.

Se entendi direito ela está sendo passada vazia e por isso não deleta nada.

Seu checkbox chama "deleta" e você tá passando um <%=id_valores%>, além disso ele não tem "value" o que é o mais importante pois nele que tem o valor que você quer deletar.

At.

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia tudo bem?

Então fiz assim agora:

<input name="deleta" type="checkbox" value="id_valores" id="id_valores_<%=i%>"/>

e na pagina ef_exclui_item.asp:

Dim deleta

deleta = Request("deleta")

if deleta <> "" then

nDeleta = Split(Deleta,",")

for i = 0 to UBound(nDeleta)

SQL = "DELETE FROM TB_PRECOS_HCS WHERE id_valores = " & nDeleta(i)

oConn.execute SQL

Next

end if

set deleta = nothing

oConn.close

Só que se seleciono 1 item ele exclui todos.

Muito obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Cara... no valur do checkbox você tem que colocar o NUMERO DO REGISTRO que você qr apagr.. .ou seja....se na listagem onde existem os checkboxes, você esta listando os registros que tem o id de 1 a 5.. deve ficar assim:

<input name="deleta" type="checkbox" value="1" id="id_valores_<%=i%>"/>

<input name="deleta" type="checkbox" value="2" id="id_valores_<%=i%>"/>

<input name="deleta" type="checkbox" value="3" id="id_valores_<%=i%>"/>

<input name="deleta" type="checkbox" value="4" id="id_valores_<%=i%>"/>

<input name="deleta" type="checkbox" value="5" id="id_valores_<%=i%>"/>

Assim, quando você recuperar o valor do campo deleta.. ele irá conter os ids dos registros que foram checkados... assim ele só excluirá os que foram marcados...

Conselho cara.... estude.. pesquise... e aprenda o básico do HTML e da lógica primeiro... antes de tentar fazer alguma coisa...

Att;

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