Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: Не компилируется скрипт  (Прочитано 2260 раз)

mepexa

  • Новичок
  • *
  • Сообщений: 22
    • Просмотр профиля
Не компилируется скрипт
« : 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
« Изменён: 26 Мая 2018, 13:33:34 от Simple-Scada »

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: Не компилируется скрипт
« Ответ #1 : 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.
« Изменён: 26 Мая 2018, 13:33:42 от Simple-Scada »