Вверх ↑
Ответов: 85
Рейтинг: 0
#1: 2019-01-09 11:45:39 ЛС | профиль | цитата
Всем привет!!
Как и обещал, что вернусь
Сегодня первый день работы решил потренировать свой мозг
Сделал блок запросов по средней, максимальной, и минимальной температуре за период.
Как ни странно всё работает...
Add(MainForm,2953706,357,189)
{
Width=544
Height=286
link(onCreate,7935657:doOpen,[])
}
Add(DS_SQLite,7935657,413,203)
{
Name="rt"
FileName="C:\\Room_temperature.db"
}
Add(FormatStr,10501672,567,203)
{
Mask="\r\n\r\n\r\n"
Point(FString)
Point(doMask)
link(onFString,1775200:doQuery,[])
link(Str1,1427951:Result,[(573,194)(454,194)])
link(Str2,7684290:Result,[(580,194)(643,194)])
}
Add(DSC_Query,1775200,616,203)
{
DSManager="rt"
link(onQuery,10103646:doDelete,[])
}
Add(DatePicker,13886836,357,133)
{
Left=45
Top=20
Width=155
Height=21
Point(DateTime)
link(onChange,1427951:doConvert,[])
}
Add(DatePicker,4791201,581,133)
{
Left=240
Top=20
Width=195
Height=21
Point(DateTime)
link(onChange,7684290:doConvert,[])
}
Add(DateConvertor,1427951,448,133)
{
Mode=9
Format="yyyy-MM-dd"
Point(Data)
Point(Result)
link(Data,13886836:DateTime,[(454,121)(422,121)(422,177)(363,177)])
}
Add(DateConvertor,7684290,637,133)
{
Mode=9
Format="yyyy-MM-dd"
Point(Data)
Point(Result)
link(Data,4791201:DateTime,[(643,121)(622,121)(622,177)(587,177)])
}
Add(StrList,14964945,469,245)
{
Strings=#92:SELECT MAX( t ) FROM data WHERE julianday(data) BETWEEN julianday('%1') AND julianday('%2');|92:SELECT MIN( t ) FROM data WHERE julianday(data) BETWEEN julianday('%1') AND julianday('%2');|92:SELECT AVG( t ) FROM data WHERE julianday(data) BETWEEN julianday('%1') AND julianday('%2');|0:|
Point(doGetString)
Point(onGetString)
link(onGetString,10501672:doMask,[(532,258)(532,216)])
}
Add(ComboBox,514375,357,280)
{
Left=110
Top=90
Width=405
Height=21
Strings=#34:Максимальная температура за период|33:Минимальная температура за период|29:Средняя температура за период|
Text="ВЫБОР"
Point(Index)
link(onClick,14964945:doGetString,[])
}
Add(Button,13989828,469,203)
{
Left=20
Top=90
Caption="ЗАПРОС"
link(onClick,10501672:doString,[])
}
Add(Edit,16308748,721,203)
{
Left=60
Top=135
Width=250
Height=70
Font=[MS Sans Serif,18,1,0,1]
Text=""
MaxLenField=5
Point(doMaxLenField)
}
Add(Delete,10103646,665,203)
{
Position=5
Count=6
link(onDelete,16308748:doText,[])
}


Однако не без дегтя в бочке. Дело в том, что в БД есть ошибки. Которые связаны с ошибками при начале работы устройства измерения, выключении устройства , напомню оно на ардуинке, датчик используется DS18S20.
Так вот в БД есть некоторые записи с температурой +85 градусов, -0.5 градусов. Это ошибки связанные с включение-выключениеми т.д., таким образом вычисление максимальной температуры и минимальной - смысла особого нет..Да и на среднее значение тоже это влияет.
Хотел поковырятся в БД. Однако в софте DataBase4 можно править до 500 строк.. Подскажите какой софт лучше использовать для просмотра и редактирования БД, желательно бесплатный..
карма: 0

0
Редактировалось 1 раз(а), последний 2019-01-09 11:59:35