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: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 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: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

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, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, 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