ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Problemas ao alterar registro usando Query [resolvido]

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
vainqueurbr
Novato
Novato


Registrado: Terça-Feira, 17 de Julho de 2012
Mensagens: 25

MensagemEnviada: Qua Mai 22, 2013 2:42 pm    Assunto: Problemas ao alterar registro usando Query [resolvido] Responder com Citação

Question Olá, preciso gravar os dados em uma tabela paradox que possuem campos texto, numérico, memorando e data.

No datamodule criei um componente [Data source] um Componente [Query] e um componente [UpdateSQL]

O que ocorre é:
Quando Crio um registro novo, tudo funciona todos os campos são salvos e o registro gerado.

Quando modifico um registro ou excluo um registro existente é exibido a seguinte mensage: [Type mismatch in expression]

No componente datasource esta setado em dataset a query clientes

No componente [Query] está com os seguinte parâmetros
Active: True
CachedUpdate: True
DatabaseName: Sistest
SQL: Select * from Clientes
UpdateObject: UpdateSQL1


No componente UpdateSQL:
Foi gerado de forma altomatica, através de Generate Sql, sendo:

Modify
update Clientes
set
Codigo = :Codigo,
Nome = :Nome,
Ordem = :Ordem,
Endereco = :Endereco,
Bairro = :Bairro,
Cidade = :Cidade,
UF = :UF,
Fone = :Fone,
Nascimento = :Nascimento,
Comissao = :Comissao,
Preferencial = :Preferencial,
Obs = :Obs
where
Codigo = :OLD_Codigo and
Nome = :OLD_Nome and
Ordem = :OLD_Ordem and
Endereco = :OLD_Endereco and
Bairro = :OLD_Bairro and
Cidade = :OLD_Cidade and
UF = :OLD_UF and
Fone = :OLD_Fone and
Nascimento = :OLD_Nascimento and
Comissao = :OLD_Comissao and
Preferencial = :OLD_Preferencial and
Obs = :OLD_Obs

Insert
insert into Clientes
(Codigo, Nome, Ordem, Endereco, Bairro, Cidade, UF, Fone, Nascimento,
Comissao, Preferencial, Obs)
values
(:Codigo, :Nome, :Ordem, :Endereco, :Bairro, :Cidade, :UF, :Fone,

:Nascimento,
:Comissao, :Preferencial, :Obs)

Delete
delete from Clientes
where
Codigo = :OLD_Codigo and
Nome = :OLD_Nome and
Ordem = :OLD_Ordem and
Endereco = :OLD_Endereco and
Bairro = :OLD_Bairro and
Cidade = :OLD_Cidade and
UF = :OLD_UF and
Fone = :OLD_Fone and
Nascimento = :OLD_Nascimento and
Comissao = :OLD_Comissao and
Preferencial = :OLD_Preferencial and
Obs = :OLD_Obs

Desde já agradeço pelo ajuda.


Editado pela última vez por vainqueurbr em Dom Mai 26, 2013 8:33 pm, num total de 1 vez
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
carbox
Colaborador
Colaborador


Registrado: Quarta-Feira, 3 de Março de 2010
Mensagens: 1471

MensagemEnviada: Qua Mai 22, 2013 3:11 pm    Assunto: Re: Problemas ao alterar registro usando Query Responder com Citação

E como está o código salvar/gravar?


vainqueurbr escreveu:
Question Olá, preciso gravar os dados em uma tabela paradox que possuem campos texto, numérico, memorando e data.

No datamodule criei um componente [Data source] um Componente [Query] e um componente [UpdateSQL]

O que ocorre é:
Quando Crio um registro novo, tudo funciona todos os campos são salvos e o registro gerado.

Quando modifico um registro ou excluo um registro existente é exibido a seguinte mensage: [Type mismatch in expression]

No componente datasource esta setado em dataset a query clientes

No componente [Query] está com os seguinte parâmetros
Active: True
CachedUpdate: True
DatabaseName: Sistest
SQL: Select * from Clientes
UpdateObject: UpdateSQL1


No componente UpdateSQL:
Foi gerado de forma altomatica, através de Generate Sql, sendo:

Modify
update Clientes
set
Codigo = :Codigo,
Nome = :Nome,
Ordem = :Ordem,
Endereco = :Endereco,
Bairro = :Bairro,
Cidade = :Cidade,
UF = :UF,
Fone = :Fone,
Nascimento = :Nascimento,
Comissao = :Comissao,
Preferencial = :Preferencial,
Obs = :Obs
where
Codigo = :OLD_Codigo and
Nome = :OLD_Nome and
Ordem = :OLD_Ordem and
Endereco = :OLD_Endereco and
Bairro = :OLD_Bairro and
Cidade = :OLD_Cidade and
UF = :OLD_UF and
Fone = :OLD_Fone and
Nascimento = :OLD_Nascimento and
Comissao = :OLD_Comissao and
Preferencial = :OLD_Preferencial and
Obs = :OLD_Obs

Insert
insert into Clientes
(Codigo, Nome, Ordem, Endereco, Bairro, Cidade, UF, Fone, Nascimento,
Comissao, Preferencial, Obs)
values
(:Codigo, :Nome, :Ordem, :Endereco, :Bairro, :Cidade, :UF, :Fone,

:Nascimento,
:Comissao, :Preferencial, :Obs)

Delete
delete from Clientes
where
Codigo = :OLD_Codigo and
Nome = :OLD_Nome and
Ordem = :OLD_Ordem and
Endereco = :OLD_Endereco and
Bairro = :OLD_Bairro and
Cidade = :OLD_Cidade and
UF = :OLD_UF and
Fone = :OLD_Fone and
Nascimento = :OLD_Nascimento and
Comissao = :OLD_Comissao and
Preferencial = :OLD_Preferencial and
Obs = :OLD_Obs

Desde já agradeço pelo ajuda.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
vainqueurbr
Novato
Novato


Registrado: Terça-Feira, 17 de Julho de 2012
Mensagens: 25

MensagemEnviada: Qua Mai 22, 2013 3:21 pm    Assunto: Re: Problemas ao alterar registro usando Query Responder com Citação

carbox escreveu:
E como está o código salvar/gravar?


Testei com o comando dm1.QClientes.Post; no botão salvar, porém usei também o componente dbnavigator também, e da mesma forma o erro corre na alteração ou na exclusão, só é na inserção funciona.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
vainqueurbr
Novato
Novato


Registrado: Terça-Feira, 17 de Julho de 2012
Mensagens: 25

MensagemEnviada: Dom Mai 26, 2013 2:46 pm    Assunto: Re: Problemas ao alterar registro usando Query Responder com Citação

vainqueurbr escreveu:
carbox escreveu:
E como está o código salvar/gravar?


Testei com o comando dm1.QClientes.Post; no botão salvar, porém usei também o componente dbnavigator também, e da mesma forma o erro corre na alteração ou na exclusão, só é na inserção funciona.



Confused Ainda sem solução se alguém souber, agradeço.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Dom Mai 26, 2013 6:17 pm    Assunto: Responder com Citação

Rapaz, eu particularmente não gosto de usar esses componentes igual o UpdateSQL porque o desenvolvedor perde o controle do que ele está tentando fazer no banco de dados.
Eu não sei se dá pra modificar as SQLs geradas por ele, mas se der, experimente alterar a Modify para:
Código:
update Clientes
set
Codigo = :Codigo,
Nome = :Nome,
Ordem = :Ordem,
Endereco = :Endereco,
Bairro = :Bairro,
Cidade = :Cidade,
UF = :UF,
Fone = :Fone,
Nascimento = :Nascimento,
Comissao = :Comissao,
Preferencial = :Preferencial,
Obs = :Obs
where
Codigo = :OLD_Codigo

Acredito que só o código seja suficiente para identificar o registro.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
vainqueurbr
Novato
Novato


Registrado: Terça-Feira, 17 de Julho de 2012
Mensagens: 25

MensagemEnviada: Dom Mai 26, 2013 8:31 pm    Assunto: Responder com Citação

Batera escreveu:
Rapaz, eu particularmente não gosto de usar esses componentes igual o UpdateSQL porque o desenvolvedor perde o controle do que ele está tentando fazer no banco de dados.
Eu não sei se dá pra modificar as SQLs geradas por ele, mas se der, experimente alterar a Modify para:
Código:
update Clientes
set
Codigo = :Codigo,
Nome = :Nome,
Ordem = :Ordem,
Endereco = :Endereco,
Bairro = :Bairro,
Cidade = :Cidade,
UF = :UF,
Fone = :Fone,
Nascimento = :Nascimento,
Comissao = :Comissao,
Preferencial = :Preferencial,
Obs = :Obs
where
Codigo = :OLD_Codigo

Acredito que só o código seja suficiente para identificar o registro.


Resolvido, valeu, obrigado, é isso mesmo apenas o campo código na clausula where.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB