Работа с базой данных
Как в скрипте работать с базой данных? Необходимо прочитать значение канала в определенный момент времени
В первом шаге пытаемся имя канала взять из выпадающего списка. Выдает ошибку 3.
Во втором шаге передаем точно такое же имя канала из строчки str2. Все работает. Только непонятно почему str2 становится равен 0;
var
time: TDateTime;
stream: TMemoryStream;
val:double;
i:word;
str1,str2:string;
begin
str1 := ReadValue('I?ai');
str2 := 'Node1.Item1';
stream := TMemoryStream.create;
try
// шаг 1
i := StreamReadFromDatabase(StrToDateTime('30.07.14 14:40:00'),StrToDateTime('30.07.14 14:40:10'), str1, stream);
GetValueFromStream(stream, time, val);
SaveToTxtFile('c:\test.txt',str1 + ' - ' + inttostr(i) + ' - ' + DateTimeToStr(time) + ' - ' + FloatToStr(val));
// шаг 2
stream.clear;
i := StreamReadFromDatabase(StrToDateTime('30.07.14 14:40:00'),StrToDateTime('30.07.14 14:40:10'), str2, stream);
GetValueFromStream(stream, time, val);
SaveToTxtFile('c:\test.txt', str2 + ' - ' + inttostr(i) + ' - ' + DateTimeToStr(time) + ' - ' + FloatToStr(val));
// шаг 3
stream.clear;
i := StreamReadFromDatabase(StrToDateTime('30.07.14 14:40:00'),StrToDateTime('30.07.14 14:40:10'),'Node1.Item1',stream);
GetValueFromStream(stream,time,val);
SaveToTxtFile('c:\test.txt', inttostr(i) + ' - ' + DateTimeToStr(time) + ' - ' + FloatToStr(val));
finally
stream.free;
end;
end.
i:=StreamReadFromDatabase(a1,a1+m,ReadValue('КаналКомбо'),stream);
КаналКомбо привязан к выпадающему списку в котором вбит список каналов. На выходе ошибка DB_CHANNEL_NOTFOUND = 3;
В чем может быть проблема?
Проблему устранили, был баг при работе с StreamReadFromDatabase, имя канала нельзя было передавать в виде переменной. Исправили, в ближайшем релизе это исправление будет.