Tratar erro de sql

Boa noite srs. Existe alguma rotina de tratamento de erro de banco de dados ( no meu caso mysql )? Nas linguagens em que trabalhei ( com bancos sybase e oracle), cada sql executado era seguido de um teste de retorno ( ex.: if sqlcode = 0 foi tudo bem, if sqlcode = 100 registro não encontrado e etc…). Com isso era mantido a integridade dos dados. Existe algo no scriptcase que eu possa usar com esta finalidade?
Desde já agradeço toda a ajuda possível.

Pode usar o SQL Builder dentro do próprio SC, ai cria o SQL e já vê o resultado, terminando só copiar e usar onde você precisar.

https://translate.google.com.br/translate?sl=en&tl=pt&js=y&prev=_t&hl=pt-BR&ie=UTF-8&u=http%3A%2F%2Fwww.scriptcaseblog.net%2Ftips-on-facilitators-for-developers-part-ii%2F&edit-text=&act=url

Mas eu prefiro usar o HeidiSQL é Free:
https://www.heidisql.com/

Boa tarde Jailton, obrigado pela atenção.
Acredito que eu não coloquei de forma muito clara a minha necessidade, eu gostaria de testar o retorno da query.
O teste teria de ser feito no script.

Nos exemplos abaixo, o sqlcode seria o código de retorno da execução da query.

$SQL = “update tabela set campo = ‘TESTE’, where campo_chave = variavel_chave”;
sc_exec_sql($SQL);

IF sqlcode == 0 {
mensagem de sucesso
} ELSE
{
mensagem de erro
RETURN
}
//////////////////////////////////////////////////////////////////////
$sql = “INSERT tabela (campo_chave1 = chave1, campo_chave2, nome, email) VALUES (var_chave1, var_chave2, ‘fulano’, ‘xxx@xxx.com’)”;
sc_exec_sql($SQL);

IF sqlcode == 0 {
mensagem de sucesso
} ELSE
{
IF sqlcode == 110 {
mensagem de erro ( ex: Chave duplicada )
RETURN
}
ELSE {
IF sqlcode == -193
mensagem de erro ( ex: Erro de FOREIGN KEY)
}
}

Em todos os bancos de dados existe return code para cada operação, a pergunta é como e se pode tratá-las em tempo de execução no script case.
Novamente agradeço pela ajuda.
Obrigado.

Essa macro não retorna valores nem possui controle de erro, você teria que usar a macro sc_lookup antes de atualizar ou inserir para
verificar que vai dar certo a operação.

Tópico antigo, sobre validar retorno para sc_exec_sql(
https://forum.scriptcase.com.br/index.php?topic=7173.0

E no manual da versão NOVA continua do mesmo jeito sem tratamento de retorno:
https://www.scriptcase.com.br/docs/pt_br/v9/manual/14-macros/01-visao-geral/#sc_exec_sql

Ou fazer esse controle usando triggers e procedures pelo próprio banco de dados que te daria o retorno da operação, e pode chamar no SC:
https://www.scriptcase.com.br/docs/pt_br/v9/manual/06-aplicacoes/04-aplicacao-formulario/11-procedures/

Americano,

Andei dando uma pesquisada…

Tenta usar a Classe interna do SC para fazer isso, veja se vai dar certo:
$sql ="
UPDATE
produtos
SET
ProdutoID = 122
";

$nm_select = $sql;
$rf = $this->Db->Execute($nm_select); // Classe Interna do SC que executa o SQL.
if ($rf === false) { // Caso der erro…
$_erro=$this->Db->ErrorMsg(); // Aqui esta o código do erro.
$this->NM_rollback_db(); // Cancela todas as atualizações de SQL.
} else {
$rf->Close(); // Se tudo deu certo… fecha a conexão da tabela.
}
sc_commit_trans();