| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
AnOnImUs.Info Colaborador


Registrado: Quinta-Feira, 23 de Agosto de 2007 Mensagens: 1119 Localização: Goiânia - GO
|
Enviada: Seg Jun 30, 2008 1:47 pm Assunto: Could not parse SQL TimeStamp string no DBGrid [Resolvido] |
|
|
Ola !
Estou com um pequeno problema.
em um DbGrid tenho um campo data.
onde ao deixa-lo vazio = ' / / ' o sistema esta apresentando a seguinte mensagem ao tentar mudar de campo.
| Código: |
Could not parse SQL TimeStamp string
|
ja tentei de diversas forma tratar o erro, mas ate o momento ainda nao encontrei uma plausivel.
se alguem tiver uma sugestao agradeço. _________________ Reter o conhecimento é promover a ignorância !
Editado pela última vez por AnOnImUs.Info em Seg Jun 30, 2008 4:58 pm, num total de 2 vezes |
|
| Voltar ao Topo |
|
 |
pestana Colaborador

Registrado: Sábado, 25 de Junho de 2005 Mensagens: 3147 Localização: Araras-SP
|
Enviada: Seg Jun 30, 2008 1:51 pm Assunto: |
|
|
você deve estar fazendo o select sem nenhuma data informada, ex.:
select * from nomeTabela where campoData = ' / / '
é isso? _________________ Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso. |
|
| Voltar ao Topo |
|
 |
AnOnImUs.Info Colaborador


Registrado: Quinta-Feira, 23 de Agosto de 2007 Mensagens: 1119 Localização: Goiânia - GO
|
Enviada: Seg Jun 30, 2008 1:55 pm Assunto: |
|
|
nao meu mestre num e select naum... a select esta correta...
os valores sao lançados no clientdataset o problema esta sendo que este campo data o usuario podera alterar mas eu nao posso deixar o campo ficar vazio.
mas sempre que o usuario deixa ele vazio e tenta mudar de campo da esta mensagem.
ja tentei trata-la nos eventos.
OnColExit
BeforePost
OnValidate
mas ate agora nao conseguir achar uma solucao para este problema... ele perciste. _________________ Reter o conhecimento é promover a ignorância ! |
|
| Voltar ao Topo |
|
 |
pestana Colaborador

Registrado: Sábado, 25 de Junho de 2005 Mensagens: 3147 Localização: Araras-SP
|
Enviada: Seg Jun 30, 2008 2:01 pm Assunto: |
|
|
eu não trabalho como Clientdataset, mas se você verificar se o campo está vazio antes de gravar no banco? e se estiver vázio então faça com que o usuario digite a data. A não ser se tem algum evento deste componente que trate isso.
flw. _________________ Ao invés de ficar desanimado no que deu de errado, olhe para frente, aprenda com os erros e veja o que ainda pode ser feito. A determinação e a persistência é uma das etapas para o sucesso. |
|
| Voltar ao Topo |
|
 |
AnOnImUs.Info Colaborador


Registrado: Quinta-Feira, 23 de Agosto de 2007 Mensagens: 1119 Localização: Goiânia - GO
|
Enviada: Seg Jun 30, 2008 2:14 pm Assunto: |
|
|
bom meu mestre e exatamente esse o meu problema... pois o erro esta muito antes do Post no clientdataset. _________________ Reter o conhecimento é promover a ignorância ! |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
Robertmc Aprendiz

Registrado: Quinta-Feira, 30 de Setembro de 2004 Mensagens: 114
|
Enviada: Seg Jun 30, 2008 4:00 pm Assunto: |
|
|
Me veio duas coisas na cabeça!!!!
1ª) Ja olhou se o problema é porque vc ta usando mascara?
2ª) Ja tentou inserir uma data inicial, no evento AfterInsert do ClientDataSet...
3ª) Veio até a mais agora escrevendo, coloca isso nun formulario e usa o DBEdit mesmo... |
|
| Voltar ao Topo |
|
 |
AnOnImUs.Info Colaborador


Registrado: Quinta-Feira, 23 de Agosto de 2007 Mensagens: 1119 Localização: Goiânia - GO
|
Enviada: Seg Jun 30, 2008 4:34 pm Assunto: |
|
|
1º - Sim, ja verifiquei e o problema nao e a mascara naum... sem ela tubo bem... eu ate consigo mudar e salvar desde que eu coloque Vazio (""), mas isso nao pode acontecer... entao tratei isso no BeforePost, onde se o campo for vazio... ele deve obrigar o usuario a digitar uma data.
Mas ai vem o outro problema que e!!!
se ele colocar um data invalida ex.: '32/01/2001';
o dbgrid apresenta a mesma mensagem de erro... e essa mensagem esta sendo dispara antes de qualquer outro evento que eu conheça.. a te mesmo antes do OnColExit.
2º - Sim, todos os registros que sao gerados ja vem com uma data informada... deixando a disposiçao do usuario a opcao de alterar essa data.
3º - Ja coloquei em um Edit, DbEdit, MasKEdit, neste componentes ate conseguir fazer o tratamento... mas infelizmente eles tem por obrigação a necessidade de virem em um DBGrid. _________________ Reter o conhecimento é promover a ignorância ! |
|
| Voltar ao Topo |
|
 |
Robertmc Aprendiz

Registrado: Quinta-Feira, 30 de Setembro de 2004 Mensagens: 114
|
Enviada: Seg Jun 30, 2008 4:38 pm Assunto: |
|
|
Cada campo da tabela tem um evento:
ONValidate, no campo, dentro da Tabela, ele funciona na hora q o campo recebe o valor... ja tentou testar e tratar o campo la
Use oo campo.clear se for preciso e um try Except |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
AnOnImUs.Info Colaborador


Registrado: Quinta-Feira, 23 de Agosto de 2007 Mensagens: 1119 Localização: Goiânia - GO
|
Enviada: Seg Jun 30, 2008 4:58 pm Assunto: |
|
|
Prontinho... resolvido
| Código: |
procedure TForm.ClientDataSetDTA_VENCIMENTOSetText(
Sender: TField; const Text: string);
begin
try
ClientDataSetDTA_VENCIMENTO.AsDateTime := StrToDateTime(Text);
except
Showmessage('Data inválida.',1)
end;
end;
|
_________________ Reter o conhecimento é promover a ignorância ! |
|
| Voltar ao Topo |
|
 |
adriano_servitec Colaborador

Registrado: Sexta-Feira, 30 de Janeiro de 2004 Mensagens: 17618
|
|
| Voltar ao Topo |
|
 |
|