[firebase-br] Win7+FB2.5.2 + D7 + MDO

Rodrigo Gomes da Silva rodrgomes em gmail.com
Qui Ago 15 20:55:59 -03 2013


O tipo DATE no dialeto 1 comporta data e hora, enquanto no dialeto 3 só
pode ter data sem a hora.
Para usar data e hora no dialeto 3 tem q usar o tipo TIMESTAMP
Em 15/08/2013 20:09, "Mário Reis" <secretariadogeral em acra.pt> escreveu:

> Olá pessoal,
>
> "Db sqldialect-1 charset NONE VS FB2.5.2 sqldialect-3 charset WIN1252no
> Win7+FB252+D7+MDO
>
> Estou experimentando o seguinte problema: tenho um tabela Agenda em um Db
>
> FB2.5.2 Db sqldialect-1 charset NONE:
>
>
>
> No campo Data_Agenda onde  consigo perfeitamente carregar a partir da minha
> aplicação D7 a seguinte instrução:
>
>  StrHora := ' 08:10:00';
>
>  StrData := FormatDateTime('yyyy-mm-dd',mcMes.CalendarDate) + Hora;
>
> e depois:
>
>  DataModule3.MDODSAgendaDT_AGENDA.AsString        := Data;
>
>  DataModule3.MDODSAgendaDT_AGENDA.Post;
>
> Onde resulta
>
>  DataModule3.MDODSAgendaDT_AGENDA.AsString='2013-08-15 08:10:00'
>
>
>
> Equanto que na FB2.5.2 Db sqldialect-3 charset WIN1252 exatamente a mesma
> instrução obtenho a exceção:
>
> exception class EMDOFirebirdError with message
>
> 'conversion error from string "2013-08-15 00:00:00"' e o mesmo acontece
> quando vou pegar a informação ao ficheiro para esta data das 00H00m00s até
>
> às 23H59M59S, ou seja no dialeto 1 funciona já no 3 não, exemplo:
>
>     DataModuleIus.MDODSAgenda.Close;
>
>     DataModuleIus.MDODSAgenda.SelectSQL.Clear;
>
>     DataModuleIus.MDODSAgenda.SelectSQL.Add('SELECT '+
>
>                     '  AGENDA_ID '+
>
>                     ' ,PROCESSO_ID '+
>
>                     ' ,CTRL_ID '+
>
>                     ' ,COLABORADOR_ID '+
>
>                     ' ,DT_AGENDA '+
>
>                     ' ,CONCLUSO '+
>
>                     ' ,DESCRICAO '+
>
>                     ' ,USER_ID '+
>
>                     ' ,ESTACAO '+
>
>                     ' ,DATA '+
>
>                     ' ,HORA '+
>
>                     ' ,ACCAO ' +
>
>                     'FROM AGENDA '+
>
>                     ' WHERE '+
>
>                     ' DT_AGENDA >= '+
>
>                     ''''+FormatDateTime('yyyy-mm-dd',mcMes.CalendarDate)
> + //Data Inicial
>
>                     ' 00:00:00'''+
>
>                     ' and '+
>
>                     ' DT_AGENDA < '+
>
>                     ''''+FormatDateTime('yyyy-mm-dd',mcMes.CalendarDate)
> + //Data Final
>
>                     ' 23:59:00'''+
>
>                     ' and COLABORADOR_ID = '+IntToStr
> (cbColaboradorID.KeyValue));
>
>
>
>     DataModuleIus.MDODSAgenda.Open;
>
>
>
> Alguém passou por isto, ou alguém me pode explicar porque acontece e se há
> como ultrapassar este erro sem mudar os tipos de campos? Obrigado
>
>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



Mais detalhes sobre a lista de discussão lista