Как считать значение из базы данных
Как считать значение канала из базы данных записное 15 часов назад?
Как Вы оцениваете обслуживание, которое получили?
Оценка удовлетворенности от АСУТП ЗСМ-7 7 лет назад
Добавьте комментарий о качестве обслуживания (необязательно):
День добрый.
Вот пример как работать с БД из под скрипта:
var
begindate, enddate, date: TDateTime;
reccount: integer;
res, value: double;
stream: TMemoryStream;
error: word;
Begin
// дата начала
begindate := Now - ((1/24) * 15));
// конечная дата
enddate := begindate + (1/24/60);
stream := TMemoryStream.Create;
try
// считаем данные из БД в буфер
error := StreamReadFromDatabase(begindate, enddate, 'Имя канала', stream);
// error code
// DB_READ_OK = 0;
// DB_DATE_ERROR = 1;
// DB_MEMORY_OVERFLOW = 2;
// DB_CHANNEL_NOTFOUND = 3;
res := 0;
if error = 0 then
begin
// кол - во записей за считываемый интервал времени
reccount := GetCountRecordToStream(stream);
// вычитываем данные из буфера
while GetValueFromStream(stream, date, value) do
begin
// date - метка времени
// value - значение канала
end;
end;
finally
stream.free;
end;
end.