Autor Tópico: [RESOLVIDO]Como controlar insert, update y delete manualmente dentro do SC  (Lida 3261 vezes)

Willian Fernando Padilha

  • Expert
  • *****
  • Mensagens: 1366
  • .....
    • Email
Ola Bom Dia a Todos estou precisando controlar os 3 evento citado no titulo dentro do SC, estou utilizando um Botão PHP para rodar alguns scripts y uso o sc_exec_sql, mais como sabem não eh possível obter Informações sobre essa macro, como ser si foi ou não bem sucedido o SQL y que me retorne o erro si foi negado o SQL, alguém tem alguma dica de como poderia fazer dentro do SC esse controle, nem que seja algo manual, eh que preciso muito controlar isso.
« Última modificação: Julho 24, 2014, 05:23:41 pm por Willian Fernando »

Willian Fernando Padilha

  • Expert
  • *****
  • Mensagens: 1366
  • .....
    • Email
Re:Como controlar insert, update y delete manualmente dentro do SC
« Responder #1 Online: Julho 24, 2014, 02:45:10 pm »
Alguém?

Haroldo

  • Expert
  • *****
  • Mensagens: 8722
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Como controlar insert, update y delete manualmente dentro do SC
« Responder #2 Online: Julho 24, 2014, 03:08:39 pm »
Já tentou usando Stored Procedures do Form?

Willian Fernando Padilha

  • Expert
  • *****
  • Mensagens: 1366
  • .....
    • Email
Re:Como controlar insert, update y delete manualmente dentro do SC
« Responder #3 Online: Julho 24, 2014, 03:18:55 pm »
Desculpa minha ignorância Sr. Haroldo, mais por acaso esses SP que o Sr. comenta seria a Opção Procedures que esta em Formulário??
Si for esse o caso eles não são apenas accionados pelos evento de gravar, deletar y atualizar do SC desabilitando o método padrão??

Haroldo

  • Expert
  • *****
  • Mensagens: 8722
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Como controlar insert, update y delete manualmente dentro do SC
« Responder #4 Online: Julho 24, 2014, 03:46:02 pm »
Sim.

Achei que seriam esses. Mas no caso do sc_exec_sql talvez você mandando executar uma stored procedure,que fará o insert, deletel update, captura o handling e grava numa tabela temporária.

Após a execução ler essa tabela para saber se houve erro em seguida limpar esse erro.

Willian Fernando Padilha

  • Expert
  • *****
  • Mensagens: 1366
  • .....
    • Email
Re:Como controlar insert, update y delete manualmente dentro do SC
« Responder #5 Online: Julho 24, 2014, 03:55:36 pm »
mmm tem razão vou testar isso pra ver si da resultado, pois meu problema maior eh exatamente capturar o error..
por que si foi ou não inserido , deletado ou modificado o registro e fácil basta com fazer um count(*) y feito,, mais realmente o que me interessa e o erro..
vou testar y aviso si foi possível..

saulobborges

  • Expert
  • *****
  • Mensagens: 1416
    • SGi Sistemas
    • Email
Re:Como controlar insert, update y delete manualmente dentro do SC
« Responder #6 Online: Julho 24, 2014, 03:56:10 pm »
Tem a macro sc_error_continue("Evento"), dá uma olhadinha no help do SC, acredito que ela só funcione com os eventos de formulário.

Outra opção é usar a classe do próprio SC que lida com o banco se não me engano é $this->Db->ErrorMsg(), voc~e deve conseguir ver o retorno desse método.

Willian Fernando Padilha

  • Expert
  • *****
  • Mensagens: 1366
  • .....
    • Email
Re:Como controlar insert, update y delete manualmente dentro do SC
« Responder #7 Online: Julho 24, 2014, 04:04:32 pm »
O problema e que eu estou usando um Botão PHP Saulo dai o sc_error_continue não funciona nele...

Vou testar também o $this->Db->ErrorMsg() para ver o que ele me diz :D

Haroldo

  • Expert
  • *****
  • Mensagens: 8722
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:Como controlar insert, update y delete manualmente dentro do SC
« Responder #8 Online: Julho 24, 2014, 04:42:01 pm »
Se funcionar poste a solução

Willian Fernando Padilha

  • Expert
  • *****
  • Mensagens: 1366
  • .....
    • Email
Re:Como controlar insert, update y delete manualmente dentro do SC
« Responder #9 Online: Julho 24, 2014, 05:23:19 pm »
O coisinha mais chata viu, mais ta ai teve resultado..
Explico..
1- Criar Botão PHP --- OK
2- Executar SQL -- OK
3- Capturar Mensagem de erro que posa ser gerada -- OFF

Então com a ajuda dos companheiros cheguei ao resultado , meio que bem manual mas funcional :D...

3- Capturar Mensagem de erro que posa ser gerada -- OK
Código: [Selecionar]
$sql = "update produtos set id_produto = 130"; //meu sql de exemplo bem basico para provar , o id_producto e Pk y esta em Fk em outras tabelas por tanto não e positivável fazer esse sql
$nm_select = $sql;
$rf = $this->Db->Execute($nm_select);  //no fundinho de tudo..., isto e o que o sc_exec_sql faz
if ($rf === false) // aqui verifica se ouve erro
{
?><script>alert('<?php echo $this->Db->ErrorMsg();?> ');</script><?php //aqui eu pego o erro y jogo na tela com Alert pra ficar mais bonitinho
$this->NM_rollback_db(); //rollback :-)
sc_exit(sel); //y por ultimo si ouve o erro para que retorne ao meu formulario
}else{
$rf->Close(); // si foi bem sucedido o sql fazer o close :-)
}


Pros = Manipular y analisar o erro que era o meu caso, longa historia "DBA meio loco fez muita coisa esquisita com erros :-)"
           Devolve erros de , Fks, Primarios, Triggers, etc.
Contras = Tem que ser verificado y testado a cada versão nova do SC para ver si não  foi trocada a forma de usar o Db->Execute...
                 Si for informado uma coluna erronea sei la tipo em vez de id_meucampo coloquei id-meucampo no SQL ele não acusa erro.

Ufa maravilha, vou ate dormir sonhando com Mensagems de erros hoje :D

Haroldo

  • Expert
  • *****
  • Mensagens: 8722
  • Conhecimento diminui limitações.△TFA△
    • InfinitusWeb Software de Gestãol/Gestão ITIL/Consultoria Scriptcase
Re:[RESOLVIDO]Como controlar insert, update y delete manualmente dentro do SC
« Responder #10 Online: Julho 24, 2014, 05:33:16 pm »
constrqi uma biblioteca,  se houver alteração por parte do sc só mudar acertar a biblioteca e regerar todas apps.

Willian Fernando Padilha

  • Expert
  • *****
  • Mensagens: 1366
  • .....
    • Email
Re:[RESOLVIDO]Como controlar insert, update y delete manualmente dentro do SC
« Responder #11 Online: Julho 24, 2014, 05:45:15 pm »
Sim exato...

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 1342
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
Re:[RESOLVIDO]Como controlar insert, update y delete manualmente dentro do SC
« Responder #12 Online: Abril 19, 2017, 04:41:25 pm »
Pessoal, boa tarde!! Desculpe reabrir este tópico mas é que estou com a mesma necessidade.

Tentei usar o exemplo do Willian mas não deu certo. Ele até não insere o registro mas não me apresenta o erro, no caso, o alert.

Obrigado
« Última modificação: Abril 19, 2017, 04:43:00 pm por Thyago Brasil »
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 8.1 SC 9

Jailton

  • Expert
  • *****
  • Mensagens: 2733
Re:[RESOLVIDO]Como controlar insert, update y delete manualmente dentro do SC
« Responder #13 Online: Abril 19, 2017, 05:37:07 pm »
Pessoal, boa tarde!! Desculpe reabrir este tópico mas é que estou com a mesma necessidade.

Tentei usar o exemplo do Willian mas não deu certo. Ele até não insere o registro mas não me apresenta o erro, no caso, o alert.

Obrigado

Existem vários eventos no SC 8.1 para controlar os eventos dos botões, e o Ajax também você pode usar o sc_lookup simulando o update, delete, insert que deseja,
e já retornar o erro desejado para o usuário, ou validar e deixar o botão executar, depois pode colocar um 'label' também no formulário para exibir algum resultado do
botão que foi usado.

Antigamente nas versões anteriores não existiam tantos eventos, ai tínhamos que fazer mais 'gambiarras'.
O Princípio da Vibração. "Nada está parado, tudo se move, tudo vibra". Caibalion.

Thyago Brasil

  • Expert
  • *****
  • Mensagens: 1342
  • Crê no Senhor Jesus e será salvo tu e tua família
    • www.brasdesign.com.br
Re:[RESOLVIDO]Como controlar insert, update y delete manualmente dentro do SC
« Responder #14 Online: Abril 19, 2017, 08:26:51 pm »
Consegui usar o exemplo do Willian. Acho que devo ter esquecido de algo na hora. Agora está funcionando perfeitamente.
Thyago Brasil
Desenvolvedor Web
Site: http://www.brasdesign.com.br

SC 8.1 SC 9