ver qual registro esta sendo alterado

Fórum sobre Banco de Dados e RDDs para Clipper/[x]Harbour.

Moderador: Moderadores

Avatar do usuário
Amparo
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 20 Ago 2010 10:38
Localização: caieiras / sao paulo

ver qual registro esta sendo alterado

Mensagem por Amparo »

ola amigos

bom dia

uso:
Harbour MiniGUI Extended Edition 19.02 (Release)

para conexão com o bando de dados
CLASS TMySQLServer: Every available MySQL server

gostaria de saber se é possível visualizar os registros que estão sendo alterados em um BD, por exemplo a seguinte sintaxe

GRAVA_TABELAS_QUERY := OSERVER:QUERY( "UPDATE CLIENTES SET conceito ='Bom' WHERE conceito = 'Novo'" )

aqui pode ter 10, 50, 100... ou nenhum, gostaria que, de alguma forma me mostra se o ID_CLIENTES que é primary key ou mostrar a quantidade que esta sendo alterada.


abraço
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8028
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 2 vezes
Curtiram: 1 vez

ver qual registro esta sendo alterado

Mensagem por Itamar M. Lins Jr. »

Olá!

Código: Selecionar todos

SELECT ROW_COUNT();
ou

Código: Selecionar todos

   nRows := mysql_affected_rows(oQuery:nSocket)
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

ver qual registro esta sendo alterado

Mensagem por asimoes »

Acho que aqui vai te ajudar na resposta

https://stackoverflow.com/questions/138 ... w-in-mysql
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

ver qual registro esta sendo alterado

Mensagem por asimoes »

Fiz o teste no HeidiSql e funciona

Código: Selecionar todos

UPDATE APC04 SET N_CLASSE = 'value', idapc04 = (SELECT @update_id := idapc04)
WHERE CLASSE = '11A' LIMIT 1; 
SELECT @update_id;
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20415
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 1 vez

ver qual registro esta sendo alterado

Mensagem por JoséQuintas »

No ADO, o resultado de um update é a quantidade de registros alterados.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

ver qual registro esta sendo alterado

Mensagem por asimoes »

Quintas pelo que eu entendi ele quer o id que foi alterado, ainda não entendi o porque ??

Método lusitano, faz um select antes com o where desse update e guarda os ids,
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Amparo
Usuário Nível 3
Usuário Nível 3
Mensagens: 342
Registrado em: 20 Ago 2010 10:38
Localização: caieiras / sao paulo

ver qual registro esta sendo alterado

Mensagem por Amparo »

ola amigos

correria, essa época de pandêmica atrapalha demais.


farei os testes e depois posot os resultados.

asimoes,

na verdade eu gostaria que apenas mostrasse um contador 1,2,3,4,5 ..... e acrescentando a cada registro que sofreu alteração.

abraços
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

ver qual registro esta sendo alterado

Mensagem por asimoes »

No ado é Execute(@nCount) vai retornar o número registros afetados, nCount é iniciado com 0 e passado por referência no método Execute
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder