Ir para conteúdo

POWERED BY:

Arquivado

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

leozeferino

Deletar vários registros de um bd e contar qtos

Recommended Posts

OLá.Fiz um sistema de deletar texto no meu site. Além disso, cada texto possui comentários. O usuário, ao deletar o texto, deleta também os comentários desse texto. Até aí, blza. Porém, quando alguém deixa um comentário, atualiza numa outra tabela o número de comentários que cada usuário tem.O que eu gostaria é algum código que quando mandasse deletar os comentários do determinado texto no banco de dados, contasse quantos comentários ele apagou para eu atualizar a tabela de número de comentários do autor.Alguém teria alguma idéia?Desde já,Valews

Compartilhar este post


Link para o post
Compartilhar em outros sites

Supondo que voce utiliza uma ID para deletar E tem gravado a ID do usuario que postou, logo abaixo voce pode colocar esse codigo para retirar 1 da qtidade que o usuario tem, onde TABELA é o nome da tabela onde esta gravado os usuarios e QTD_Msg é a coluna no banco de dados que tem a qtidade de posts do usuario.

 

ASP

[*]<%

 

[*]url_conexao Server.MapPath("usuarios.mdb")

 

[*]set conexao Server.CreateObject("ADODB.Connection")

 

[*]conexao.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&url_conexao

 

[*]sql "UPDATE TABELA SET TABELA.QTD_Msg = TABELA.QTD_Msg - 1 WHERE id ="Request.QueryString("Usuario")

 

[*]conexao.execute(sql)

 

[*]%>

 

[*]

 

Espero ter entendido sua duvida.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

OLá.

 

 

Fiz um sistema de deletar texto no meu site. Além disso, cada texto possui comentários. O usuário, ao deletar o texto, deleta também os comentários desse texto. Até aí, blza. Porém, quando alguém deixa um comentário, atualiza numa outra tabela o número de comentários que cada usuário tem.

O que eu gostaria é algum código que quando mandasse deletar os comentários do determinado texto no banco de dados, contasse quantos comentários ele apagou para eu atualizar a tabela de número de comentários do autor.

Alguém teria alguma idéia?

 

 

Desde já,

 

 

Valews

<{POST_SNAPBACK}>

 

Cara e simples

 

Você ira selecionar primeiro a quantiade de regsitro que ira deletar e depois você deleta tipo

 

tabelas: categoria e subcategorias

 

digamos que você deletou um categoria que tenha 10 subcategorias vinculadas entao você que recuperar este numero que seria o 10 né ?

 

entao e so fazer

 

delete from categorias where id = 1

delete from subcategorias where idcategoria = 1

 

 

e ira deleta da tabela categorias o id 1 e da tabela subcategorias ira deletar todas as subcategorias que tem vinculo com a tabela subcategorias de id1 certo ?

 

ou seja antes de você pdoe o code para deletar basta voce colocar o code para contar a quantidade de registros

 

Select Sum(1) as Total FROM subcategorias WHERE idcategoria = 1

 

tem 10 registros

 

 

ae agora sim você poe o code para deletar pois ele contou primeiro e deposi removeu

 

deu pra entender ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

as opcoes sao as mais variadas para o casovocê pode tb deletar e depois contar o que sobrou e atualizar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, acho q não consegui ser claro no que eu quero. :unsure: Em resumo, o que eu quero é que quando eu mandar deletar todos os registros que possuirem um determinado ID numa tabela, conte quantos registros foram deletados para eu pegar essa quantidade de registros q foram deletados e jogar numa outra tabela.O ponto principal é ao deletar alguns registros da tabela, eu fazer uma código que conte quantos registros foram deletados.Se alguém puder me ajudar...Valewssss!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

um exemplo usando sql server... a função ROWCOUNT, acho q funciona...

ASP

[*]sql "DELETE FROM tabela WHERE idtabela = 58456"

 

[*]sql = sql + " "

 

[*]sql = sql + "SELECT @@ROWCOUNT AS total"

 

[*]set xxx conexaobd.execute(sql)

 

[*]total_apagado xxx("total")

 

lembrando q não é uma "best pratices" e não é aconselhável armazenar valores em bd resultado de soma, calculos, etc... pois você pode ter dados não confiáveis, ok...

 

e se não funcionar.. procure sobre ROWCOUNT no google q você vai ter os exemplos, ok?

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

lembrando q não é uma "best pratices" e não é aconselhável armazenar valores em bd resultado de soma, calculos, etc... pois você pode ter dados não confiáveis, ok...

pode crer... http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas fácil

 

Dim QtdeDeletado

Set Conexao.Execute(StrSQL,QtdeDeletado)

A variavel QtdeDeletado será populada com a quantidade de registros deletados.

<{POST_SNAPBACK}>

Marcelo, rapidão:

como faz mesmo pra quando eu quiser apagar todos os registros de uma tabela que possui um determinado ID?

 

Valewss!

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.