Здравствуйте.
Процедура RunSQL выполняется асинхронно (выполнение зависит от нагрузки на СУБД, ПК и пр.). Поэтому сразу после вызова RunSQL нельзя работать с результатом запроса. Обрабатывать результат запроса нужно в отдельном скрипте с типом события "
Выполнен SQL-запрос". Пример получения значение из БД (для MySQL) см.
по ссылке. Для СУБД PostgreSQL скрипты будут выглядеть следующим образом:
var
aQuery: string;
begin
aQuery := 'SELECT "Znachenie" FROM "Value" WHERE "ID" = 1;';
RunSQL(aQuery, nil, 1);
end.
Скрипт с типом события "Выполнен SQL-запрос":
begin
if DataSet.Tag = 1 then
Peremennaya.Value:= DataSet[0].AsFloat;
end.
Проверить свой SQL-запрос и увидеть результат его выполнения можно используя приложение
PgAdmin, выполнив в нём требуемый SQL-запрос. Обработать ошибки выполнения SQL-запроса можно в скрипте "
Ошибка SQL-запроса". Также для поиска ошибок в SQL-запросе можно включить опцию "
Лог пользовательских SQL-запросов". При активации данной опции все пользовательские SQL-запросы будут записываться в лог-файл сервера с указанием имени скрипта, из которого была вызвана процедура и текстом SQL-запроса. Таким образом, можно просмотреть нужный SQL-запрос, отправленный в БД, и проверить, нет ли в нем ошибок.
Данную опцию можно использовать только для отладки проекта, иначе она будет создавать лишнюю нагрузку на сервер. После отладки опцию нужно обязательно выключить.