Ir ao conteúdo

Cadastro em Banco de Dados por Delphi


Matheus Lacombe

Posts recomendados

Postado

Olá pessoal. Pelo amor de deus, estou com uns prazos pra cumprir e não consigo resolver este problema de jeito nenhum desde quarta-feira e o prazo esta apertando cada vez mais.

Preciso, para um banco de uma clínica de fonoaudiologia, fazer um cadastro em um banco de dados Firebird pelo delphi de forma que todas as chaves-extrangeiras e os dados de suas tabelas fiquem em abas e sejam mostrados a partir do onvalidate daquele campo.

Para isso estou utilizando o quarteto: TSQLDataSet(DBExpress), TDataSetProvaider(DataAcess), TClientDataSet(DataAcess), TDataSource(DataAcess).

Modelo de cadastro de sessão:

Cad_Sessoes.jpg

O modelo ER do banco de dados segue em imagem abaixo:

Exemplo: Quando estou cadastrando uma sessão, preciso digitar o código do funcionário(medico) que vai fazer a sessão, assim que digito, toda a ficha do funcionário que irá fazer a sessão deverá aparecer em uma aba ao lado(dentro do PageControl) por exemplo.

PROBLEMA: O código SQL que eu desenvolvi não funciona de jeito nenhum, muito embora não veja outra forma de resolver esta situação na forma como expus acima.

Da "Token unknow: FUNCIONARIOS_SESSAO at line 1, colum 8"

E da esse erro apenas quando eu clico em Cadastrar. Ao dar "Active" no TSQLDataSet não ocorre erro algum.

E o mais estranho é isso. Não há nenhum 'FUNCIONARIOS_SESSAO nessa linha. Já conferi o código-fonte inteiro da Unit que está este cadastro e lá tabém não ficou nenhum SQL perdido que possa corresponder ao erro indicado. Ao que parece, então, deve ser algum erro de lógica nesse código, mesmo.

----------------------------------------

DOWNLOAD(OBS: aqui so funcionou pelo FireFox):

-----------------------------------------

CODIGO DO COMMAND TEXT DO TSQLDataSet.



sessoes.idsessao,
sessoes.idfuncionario as funcionario_sessao,
sessoes.idconsulta,
sessoes.data_sessao,
sessoes.obs_sessao,
sessoes.status_sessao,
sessoes.parecer_sessao,
sessoes.hora_sessao,

funcionario_sessao.idcargo as cargo_func_sessao,
funcionario_sessao.nome_funcionario as nome_func_sessao,
funcionario_sessao.sexo_funcionario as sexo_func_sessao,
funcionario_sessao.rg_funcionario as rg_func_sessao,
funcionario_sessao.cpf_funcionario as cpf_func_sessao,
funcionario_sessao.dtanasc_funcionario as dtanasc_func_sessao,
funcionario_sessao.dtacad_funcionario as dtacad_func_sessao,
funcionario_sessao.telefone_funcionario as telefone_func_sessao,
funcionario_sessao.celular_funcionario as celular_func_sessao,
funcionario_sessao.obs_funcionario as obs_func_sessao,
funcionario_sessao.status_funcionario as status_func_sessao,
funcionario_sessao.clinico as clinico_func_sessao,
funcionario_sessao.foto_funcionario as foto_func_sessao,

funcionario_sessao.cep as cep_func_sessao,

cargo_func_sessao.descricao_cargo as desc_cargo_func_sessao,
cargo_func_sessao.obs_cargo as obs_cargo_func_sessao,

cep_func_sessao.idbairro as bairro_cep_func_sessao,
cep_func_sessao.idcidade as cidade_cep_func_sessao,
cep_func_sessao.rua_cep as rua_cep_func_sessao,

bairro_cep_func_sessao.nome_bairro as nome_bairro_cep_func_sessao,
cidade_cep_func_sessao.nome_cidade as nome_cidade_cpe_func_sessao,

consultas.idpaciente,
consultas.diagnostico,
consultas.prognostico,
consultas.encaminhamento,
consultas.conduta,
consultas.obs_consulta,
consultas.status_consulta,
consultas.data_consulta,

consultas.idfuncionario as funcionario_consulta,

funcionario_consulta.idcargo as cargo_func_consulta,
funcionario_consulta.nome_funcionario as nome_func_consulta,
funcionario_consulta.sexo_funcionario as sexo_func_consulta,
funcionario_consulta.rg_funcionario as rg_func_consulta,
funcionario_consulta.cpf_funcionario as cpf_func_consulta,
funcionario_consulta.dtanasc_funcionario as dtanasc_func_consulta,
funcionario_consulta.dtacad_funcionario as dtacad_func_consulta,
funcionario_consulta.telefone_funcionario as telefone_func_consulta,
funcionario_consulta.celular_funcionario as celular_func_consulta,
funcionario_consulta.obs_funcionario obs_func_consulta,
funcionario_consulta.status_funcionario as status_func_consulta,
funcionario_consulta.clinico as clinico_func_consulta,
funcionario_consulta.foto_funcionario as foto_func_consulta,

funcionario_consulta.cep as cep_func_consulta,

cargo_func_consulta.descricao_cargo as desc_cargo_func_consulta,
cargo_func_consulta.obs_cargo as obs_cargo_func_consulta,

cep_func_consulta.idbairro as bairro_cep_func_consulta,
cep_func_consulta.idcidade as cidade_cep_func_consulta,
cep_func_consulta.rua_cep as rua_cep_func_consulta,

bairro_cep_func_consulta.nome_bairro as nome_bairro_cep_func_consulta,
cidade_cep_func_consulta.nome_cidade as nome_cidade_cep_func_consulta,

paciente.idconvenio,
paciente.nome_paciente,
paciente.sexo_paciente,
paciente.rg_paciente,
paciente.cpf_paciente,
paciente.dtanasc_paciente,
paciente.dtacad_paciente,
paciente.telefone_paciente,
paciente.celular_paciente,
paciente.foto_paciente,
paciente.obs_paciente,
paciente.num_convenio_paciente,
paciente.status_paciente,

paciente.cep as cep_paciente,

convenios.nome_convenio,

cep_paciente.idbairro as bairro_cep_paciente,
cep_paciente.idcidade as cidade_cep_paciente,
cep_paciente.rua_cep as rua_cep_paciente,

bairro_cep_paciente.nome_bairro as nome_bairro_cep_paciente,
cidade_cep_paciente.nome_cidade as nome_cidade_cep_paciente

from sessoes

left outer join consultas on (consultas.idconsulta = sessoes.idconsulta)
left outer join paciente on (paciente.idpaciente = consultas.idpaciente)
left outer join convenios on (convenios.idconvenio = paciente.idconvenio)

left outer join funcionarios as funcionario_sessao on (funcionario_sessao.idfuncionario = sessoes.idfuncionario)
left outer join ceps as cep_func_sessao on (cep_func_sessao.cep = funcionario_sessao.cep)
left outer join bairros as bairro_cep_func_sessao on (bairro_cep_func_sessao.idbairro = cep_func_sessao.idbairro)
left outer join cidades as cidade_cep_func_sessao on (cidade_cep_func_sessao.idcidade = cep_func_sessao.idcidade)
left outer join cargos as cargo_func_sessao on (cargo_func_sessao.idcargo = funcionario_sessao.idcargo)

left outer join funcionarios as funcionario_consulta on (funcionario_consulta.idfuncionario = consultas.idfuncionario)
left outer join ceps as cep_func_consulta on (cep_func_consulta.cep = funcionario_consulta.cep)
left outer join bairros as bairro_cep_func_consulta on (bairro_cep_func_consulta.idbairro = cep_func_consulta.idbairro)
left outer join cidades as cidade_cep_func_consulta on (cidade_cep_func_consulta.idcidade = cep_func_consulta.idcidade)
left outer join cargos as cargo_func_consulta on (cargo_func_consulta.idcargo = funcionario_consulta.idcargo)

left outer join ceps as cep_paciente on (cep_paciente.cep = paciente.cep)
left outer join bairros as bairro_cep_paciente on (bairro_cep_paciente.idbairro = cep_paciente.idbairro)
left outer join cidades as cidade_cep_paciente on (cidade_cep_paciente.idcidade = cep_paciente.idcidade)

where sessoes.idsessao = :paridsessao
select

---------------------------------------------------------

CODIGO DO BOTÃO GRAVAR:


Begin
ShowMessage('O campo "PARECER" é Obrigatório..');
Exit;
End;

CDS_CadSessoesSTATUS_SESSAO.AsString:='A';

CDS_CadSessoes.Post;
CDS_CadSessoes.ApplyUpdates(0);

CDS_CadSessoes.Close;
SQLDS_CadSessoes.Close;

EdtCodigo.Text:='';
PageControl1.Enabled:=False;

inherited;
  If (CDS_CadSessoes.FieldByName('PARECER_SESSAO').AsString = '') Then

  • 4 semanas depois...
Postado

Coloca um break ponit no código para ver onde está extourando o erro.

Mas parece que o erro está dentro do seu codigo SQL no COMMAND TEXT DO TSQLDataSet.

Na segunda linha: sessoes.idfuncionario as funcionario_sessao,

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!