String SQL

WSL
Mensagens: 21
Registrado em: Qua Abr 10, 2013 12:00 pm

String SQL

Mensagem por WSL » Qui Dez 05, 2013 1:41 am

Boa noite,

Qual é a sintaxe correta para substituir a string '2013-12-02 00:00:00' pelo valor de um tag do tipo DateTime para formar um comando SQL válido no SQLite?

Código: Selecionar todos

local fim = Tags.Get('Kernel.Tags.Local.TagLocalGroup_001.Hora_Fim')
print(' Fim:'..tostring(fim.Value))

cursor, error  = con:Execute("SELECT * FROM Tabela_Evento WHERE value_TagRef_Fim > '2013-12-02 00:00:00' ;")
Desde já agradeço.

Wilson Lima

Avatar do usuário
thiago.bastos
Moderadores
Mensagens: 10
Registrado em: Qui Jan 31, 2013 3:54 pm
Localização: Av. Dr. Armando de Sales Oliveira, 445, Taquaral - Campinas - SP - Brasil
Contato:

Re: String SQL

Mensagem por thiago.bastos » Qui Dez 05, 2013 1:34 pm

Caro Wilson, bom dia!

O formato de Data/Hora dos Tags do tipo DateTime no HIscada Pro possuem o formato dd/mm/yyyy hh:mm:ss(dia/mês/ano hora:minuto:segundo).

Já no SQLite, o formato padrão de Data/Hora é yyyy-mm-dd hh:mm:ss(ano-mês-dia hora:minuto:segundo).

Portanto, o que devemos fazer neste caso, é formatar o valor do Tag DateTime, para o formato padrão de Data/Hora do SQLite.

Para fazer isso, consulte a seção Acesso ao DateTime com a escolha do formato desta página do manual do HIscada Pro. Neste caso você deve passar como parâmetro para função GetFormatString o formato padrão de Data/Hora do SQLite(yyyy-mm-dd hh:mm:ss).

Exemplo:

Código: Selecionar todos

-- Tag local do Kernel com o formato DateTime
local fim = Tags.Get("Kernel.Tags.Local.TagLocalGroup_001.Hora_Fim")
print(' Fim:'..tostring(fim.Value))

-- Formata em uma variável auxiliar, a Data/Hora do tag "fim" para o formato padrão do SQLite
local DataHoraConsultaFormatoSQLite = fim.Value:GetFormatString("yyyy-mm-dd hh:mm:ss")

-- Comando SQL de consulta utilizando o valor de um tag DateTime como parâmetro
cursor, error  = con:Execute("SELECT * FROM Tabela_Evento WHERE value_TagRef_Fim > '" .. DataHoraConsultaFormatoSQLite .. "' ;")

Em caso de novas dúvidas, basta utilizar nosso fórum!
Thiago Veronesi Bastos
Desenvolvedor de Software

HI Tecnologia - Indústria e Comércio Ltda
Campinas - SP
Fone: +55 (19) 2139-1700
Fax: +55 (19) 2139-1710
Email: thiago.bastos@hitecnologia.com.br
Web-site: http://www.hitecnologia.com.br

WSL
Mensagens: 21
Registrado em: Qua Abr 10, 2013 12:00 pm

Re: String SQL

Mensagem por WSL » Qui Dez 05, 2013 7:11 pm

Excelente explicação, como de costume.

Muito grato!

Responder