Evento Ajax

Olá a todos. Apesar de pesquisar aqui no forum, não consegui resolver este problema.
É o seguinte:
Tenho duas tabelas:
a) tab_flagrantedelito: campos - delegado (int), mat_delegado (VARCHAR) entre outros
b) tab_delegado: campos - cod_delegado(int), nom_delegado(VARCHAR), mat_delegado(VARCHAR)

No Frm_FlagranteDelito transformei o campo DELEGADO da tab_flagrantedelito como select, buscando
os dados na tab_delegado e guardando no bando o cod_delegado.

Após fazer a opção no campo delegado(select), gostaria que o campo mat_delegado
aparecesse automaticamente.

O que fiz.

criei um evento ajax - DELEGADO_onChange e inseri o seguinte código:

$sql = “SELECT Cod_Delegado,
Nom_Delegado,
Mat_Delegado
FROM
tab_delegado
WHERE
Cod_Delegado = {DELEGADO}”;

sc_lockup(ds, $sql);
{MAT_DELEGADO} = {ds[0][2]};

porém não consigo que o campo mat_delegado seja inserido automaticamente
no campo.

Onde estou errando?

Aguardo ajuda.

Obrigado.

E aí pessoal. Alguma ajuda?

coloque em modo debug e se garanta o o result set possui dados, ou seja se retornou um registro da tabela.

Seria interessante você trabalhar com tratamentos de erros, não precisa necessariamente ser com Try e Catch, mas um if/else resolveria caso esteja vindo com algum dado vazio!

Exemplo com if/else:

$sql = "SELECT Cod_Delegado,
   Nom_Delegado,
   Mat_Delegado
FROM
   tab_delegado
WHERE 
   Cod_Delegado = {DELEGADO}";

sc_lockup(ds, $sql);

if (isset({ds[0][0]}))
{
{MAT_DELEGADO} = {ds[0][2]};
}else{
echo 'Erro! Dado possivelmente vazio!';
}

Obrigado pela atenção FredKeyster e Haroldo.
FredKeyster, inclui o if no código no entanto nada acontece, ou seja, apesar de o processamento ajax ser disparado, não retorna o código do delegado e nem mostra mensagem de erro. Alguma outra sugestão?

Haroldo, como fazer para rodar em modo debub?

Desculpem pela demora em responder, mas só tive acesso a net agora.

Haroldo. Rodei em modo debug e não surge nenhuma mensagem de erro.

agora execute a query exibida pelo modo debug.

Walter, já testou esse sql puro no phpmyadmin pra saber se ta trazendo tudo direitinho? Se sim o problema pode esta na aplicação. Mas antes é bom ter certeza que o SQL ta trazendo tudo. Da uma testada no banco esse SQL…

Olá FredKeyster.
Acabei de testar no phpmyadmin. Ficou assim a sql

sql = "SELECT Cod_Delegado,
Nom_Delegado,
Mat_Delegado
FROM
tab_delegado
WHERE
Cod_Delegado = 1;

E me retornou o registro correto, ou seja, a sql está funcionando.

Olá pessoal. Obrigado a todos. Identifiquei que o problema provavelmente era de sintaxe. Depois que coloquei o campo estre aspas simples, o evento ajax retornou o esperado. Ficou assim:
$sql = “SELECT Cod_Delegado,
Nom_Delegado,
Mat_Delegado
FROM
tab_delegado
WHERE
Cod_Delegado = ‘{DELEGADO}’”;

sc_lockup(ds, $sql);

{MAT_DELEGADO} = {ds[0][2]}