Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: mepexa от 19 Марта 2018, 14:40:20

Название: Не компилируется скрипт
Отправлено: mepexa от 19 Марта 2018, 14:40:20
Код: (delphi)
var
 aQuery: string;
begin
  aQuery :=  'SELECT `summa_kgu` FROM `energia` where timestamp like '2018-03-19 13:00%' ;
  RunSQL(aQuery, nil, 1);
end.
останавливается после 2018
Название: Re: Не компилируется скрипт
Отправлено: Simple-Scada от 19 Марта 2018, 15:36:26
Здравствуйте.

Дело в том, что одинарные кавычки используются компилятором для строковых значений. Если нужно использовать одинарные кавычки внутри строки, то нужно их дублировать, например:
Код: (delphi)
var
  aQuery: string;
begin
  aQuery := 'SELECT `summa_kgu` FROM `energia` where timestamp like ''2018-03-19 13:00%''' ;
  RunSQL(aQuery, nil, 1);
end.

Второй вариант: использовать специальную функцию QuotedStr (добавляет одинарные кавычки по краям строки):
Код: (delphi)
var
  aQuery: string;
begin
  aQuery := 'SELECT `summa_kgu` FROM `energia` where timestamp like ' + QuotedStr('2018-03-19 13:00%');
  RunSQL(aQuery, nil, 1);
end.