RUS  ENG 

Свойства объекта и база данных

Страницы: 1
RSS
Свойства объекта и база данных
 
Вопрос 1. Как получить свойство объекта, например, длину, в базе данных.
Вопрос 2. Редактор баз данных / запрос / свойства - что такое тэг, для чего он служит.
 
1. Надо открыть базу (см. ZbDatabase.Open), и далее см. IZbDatabase.ActiveQuery, IZbQueryInfo.SelectByKey, IZbDataset.GetFieldIndexByName, IZbDataset.FieldValue
2. Тэги - набор свойств (в текстовом виде), который можно прописать у объектов базы данных. Предполагается, что эти теги программно будет обрабатывать разработчик, который придумал эти теги и записал в базу. Есть ряд тегов у полей запросов, которые понимает сама Zulu. Например, тег "(url)" у текстового поля говорит, что в этом поле хранится гиперссылка и браузер БД будет по нажатию на кнопку "..." открывать веб-браузер с указанной ссылкой.
 
По второму вопросу все ясно. А вот по первому, я, видимо, не совсем корректно задал вопрос. База в Zulu. У объекта есть свойство "длина". Как эту длину получить в окне информации по объекту? Для каждого объекта вбивать ручками затруднительно - объеков несколько тысяч.
 
Если надо ЗАПИСАТЬ в базу по объектам длину, то можно сделать так:
В окне информации в закладке Запрос в соответствующем поле вписываем "CHANGETO LENGTH" и выполняем запрос. В базу во все записи пропишется длина с карты. Запрос можно снабдить параметрами (в т.ч. фильтр по группе, т.е. записать только выделенным объектам).
Либо, если слой представляет собой тепловую сеть, созданную по шаблону ZuluThermo, то в ZuluThermo в закладке Сервис есть кнопка "Длины с карты". Делает тоже самое.
 
Спасибо за совет.
Есть ещё один вопрос.
выбираю несколько однородных объектов. Информация/запрос/"CHANGETO LENGTH". Нажимаю кнопочку "Группа" Длина записывается только для тех объектов, у которых в базе есть запись. Если в окне информации по объекту "нет данных", то длина не записывается, даже если выбрана группа. Это можно побороть?
 
CHANGETO изменяет значение поля в записи. Если самой записи нет, то ничего не меняется. Для массового добавления путсых записей можно выполнить Карта\Запрос по базе данных и там, встав на конкретную базу, нажать "Заполнить"
 
Большое спасибо за совет, очень удобно.
Вопрос немного не в тему. У нас стоит Zulu релиз 5.2.0.1390. Если перейти на более новый релиз то не возникнет ли проблема с LPT ключом? Он подойдет для более новой версии?
 
Ключ подойдет, но старая версия уже с ним работать перестанет (будет говорить, что ключ не тот).
 
Если я у себя обновляю версию - ключ подойдет, но на другой машине старая версия этот ключ уже не определит? Я правильно понял?
 
Да, все правильно. Плюс у нас формат данных меняется постепенно.
Очень старая версия может не взять.
Если обновлять, то лучше сразу на все машины.
 
Скажите, неужели для небольшого городка для поверочного расчета я завожу все 4050 элементов моей сети или же есть способ заведения данных попроще. Это же титанический труд, потом еще искать где и как у меня пойдет вода
 
http://www.politerm.com.ru/forums/showthread.php?tid=1291&;fid=8
 
Прошло 4 года, снова работаю с Zulu уже 6 версии.
По старой памяти забиваю в поле запроса Changeto length и получаю - непонятно что. Число в 8 символов, одинаковое для всей группы и каждый раз разное. При этом Changeto type, Changeto mode выполняются правильно, а Changeto length, Changeto perimeter, Changeto area возвращают ерунду. Что бы это могло быть и как с этим бороться?
 
Проверил на текущей версии - работает. Обновите версию (если у Вас старая) с сайта, попробуйте.
 
Douser
Стояла версия 1,0,12. Скачал с сайта 1,0,15 - теперь работает.
Спасибо!!!
Страницы: 1