Preciso de ajuda - Por favor me ajudem (Perdi essa tarde inteira tentando) StrToSQLTimeStamp
Tenho uma StringGrid com os seguintes valores:
DATA SECRETARIA VALOR
18.04.2013 13:10:23 SEC. DE OBRAS E SERVIÇOS 100.00
19.04.2013 09:23:00 SEC. DE EDUCAÇÃO 200.00
O que desejo:
Preciso passar o valor da coluna DATA com as horas pois o meu campo no BDs é do tipo TIMESTAMP para um DateTimePicker.DateTime para que possa ser alterado quando preciso, mas não tá dando certo. Estou fazendo assim:
DateTimePicker.DateTime:= SQLTimeStampToDateTime(StrToSQLTimeStamp(StringGrid.Cells[0,1])); (o valor de StringGrid.Cells[0,1] = 18.04.2013 13:10:23)
Percebo que o erro acontence na execução da função StrToSQLTimeStamp(StringGrid.Cells[0,1]).
recebo a seguinte menssagem de erro:
Exception class EConvertError with message 'Could not parse SQL TimeStamp string'. Process iProtocolo.exe (4976)
DATA SECRETARIA VALOR
18.04.2013 13:10:23 SEC. DE OBRAS E SERVIÇOS 100.00
19.04.2013 09:23:00 SEC. DE EDUCAÇÃO 200.00
O que desejo:
Preciso passar o valor da coluna DATA com as horas pois o meu campo no BDs é do tipo TIMESTAMP para um DateTimePicker.DateTime para que possa ser alterado quando preciso, mas não tá dando certo. Estou fazendo assim:
DateTimePicker.DateTime:= SQLTimeStampToDateTime(StrToSQLTimeStamp(StringGrid.Cells[0,1])); (o valor de StringGrid.Cells[0,1] = 18.04.2013 13:10:23)
Percebo que o erro acontence na execução da função StrToSQLTimeStamp(StringGrid.Cells[0,1]).
recebo a seguinte menssagem de erro:
Exception class EConvertError with message 'Could not parse SQL TimeStamp string'. Process iProtocolo.exe (4976)
Ismael Vale
Curtidas 0
Respostas
Diogenes Sampaio
15/05/2013
Olá Ismael,
Para você usar ponto no formato da data você precisa alterar a configuração de formato de data e hora no painel de controle do windows.
Substitua o "." ponto pela "/" e o código funcionará.
Para você usar ponto no formato da data você precisa alterar a configuração de formato de data e hora no painel de controle do windows.
Substitua o "." ponto pela "/" e o código funcionará.
GOSTEI 0
Ismael Vale
15/05/2013
Olá Diogenes, alterei os valores da coluna DATA para o formato dd/mm/yyyy hh:nn:ss como você me surgeriu, mas não funcionou como você pode observar na nova mensagem de erro abaixo:
Exception class TDBXError with message 'conversion error from string "18/04/2013 21:08:52"'. Process iProtocolo.exe (5484)
Exception class TDBXError with message 'conversion error from string "18/04/2013 21:08:52"'. Process iProtocolo.exe (5484)
GOSTEI 0
Diogenes Sampaio
15/05/2013
Verifique formato da data e hora em painel de controle > Região e Idiomas, Na aba formatos. No meu caso o formato de data abreviada está configurado como dd/mm/aaaa e a hora por extenso está definida como HH:mm:ss.
Com essas configurações o código abaixo funciona sem nenhum problema em meu PC:
Você também pode usar a variável global FormatSettings(declarada em SysUtils) para configurar um separador para data e hora, dessa forma você não precisa se preocupa com as configurações do Sistema operacional, pois a função StrToSQLTimeStamp utilizará as configurações de formato definidas por você e não as configurações do sistema.
Delphi 2010
Delphi 7
Espero ter ajudado. T++
Com essas configurações o código abaixo funciona sem nenhum problema em meu PC:
S: TSQLTimeStamp;
S := StrToSQLTimeStamp('18/04/2013 13:10:23'); Você também pode usar a variável global FormatSettings(declarada em SysUtils) para configurar um separador para data e hora, dessa forma você não precisa se preocupa com as configurações do Sistema operacional, pois a função StrToSQLTimeStamp utilizará as configurações de formato definidas por você e não as configurações do sistema.
Delphi 2010
FormatSettings.DateSeparator := '.';
FormatSettings.TimeSeparator := ':';
S: TSQLTimeStamp;
S := StrToSQLTimeStamp('18.04.2013 13:10:23'); Delphi 7
DateSeparator := '.';
TimeSeparator := ':';
S: TSQLTimeStamp;
S := StrToSQLTimeStamp('18.04.2013 13:10:23'); Espero ter ajudado. T++
GOSTEI 0
Ismael Vale
15/05/2013
Diogenes, muito obrigado pela ajuda. Deu certo.
Parabéns
Parabéns
GOSTEI 0