Olá pessoal,
Seguinte, ao fazer diversos insert / update, gostaria de saber como fazer o tratamento se houve erro com o BD ou não
Exemplo:
sc_begin_trans();
while ( !$rs->EOF ){
$cLOCCOD = $rs->fields[0];
$cPRDCOD = $rs->fields[1];
sc_exec_sql(“INSERT INTO web_gerencia.tbl_cgpxr
(loccod, prdcod, frpcod)
VALUES
(’”. $cLOCCOD ."’, lpad( ‘". $cPRDCOD ."’, 14 ), ‘". $cFRPCOD ."’)" );
$rs->MoveNext();
}
sc_commit_trans();
Neste caso, ao gravar na tabela, caso haja duplicidade na chave primária, como capturar o erro de retorno, sem que apareça a mensagem na tela para o usuário ?.
Quanto o uso das macros do SC para transações, caso esteja trabalhando com o mesmo BD, é obrigatório fazer este tratamento ?
Entendo, corrijam-me se estiver errado. Quando vou adicionar um novo registro ou gravar algum existente, o correto é tratar o erro gerado pelo BD, e assim seguir com o processamento, pois ler o BD antes para verificar um possível erro não garante que a sequência seja executada, já que o BD está recebendo gravações por outros usuários. O erro a que me refiro é quanto a chave primário, pois outros do ponto de vista de sistema este é tratado antes de gerar o SQL para sua atualização.
Att,
Jocimar